From f07a63df8f30795b33573ddaf750e4215118350c Mon Sep 17 00:00:00 2001 From: Fabian Reister <fabian.reister@kit.edu> Date: Mon, 10 May 2021 08:23:18 +0200 Subject: [PATCH] armem robot mapping: taking (memory) Client**ComponentPluginUser via c'tor --- .../armem_robot_mapping/MappingDataReader.cpp | 10 +++++----- .../armem_robot_mapping/MappingDataReader.h | 14 ++++++-------- .../armem_robot_mapping/MappingDataWriter.cpp | 10 ++++------ .../armem_robot_mapping/MappingDataWriter.h | 16 ++++++---------- 4 files changed, 21 insertions(+), 29 deletions(-) diff --git a/source/RobotAPI/libraries/armem_robot_mapping/MappingDataReader.cpp b/source/RobotAPI/libraries/armem_robot_mapping/MappingDataReader.cpp index 9f7317320..399b866e4 100644 --- a/source/RobotAPI/libraries/armem_robot_mapping/MappingDataReader.cpp +++ b/source/RobotAPI/libraries/armem_robot_mapping/MappingDataReader.cpp @@ -52,8 +52,8 @@ namespace armarx::armem { - MappingDataReader::MappingDataReader(ManagedIceObject& component) - : armarx::armem::MemoryConnector(component) {} + MappingDataReader::MappingDataReader(armem::ClientReaderComponentPluginUser& memoryClient) + : memoryClient(memoryClient) {} MappingDataReader::~MappingDataReader() = default; @@ -61,9 +61,9 @@ namespace armarx::armem armarx::PropertyDefinitionsPtr& def) { ARMARX_DEBUG << "TransformReader: registerPropertyDefinitions"; - MemoryConnector::registerPropertyDefinitions(def); + registerPropertyDefinitions(def); - const std::string prefix = getPropertyPrefix(); + const std::string prefix = propertyPrefix; def->optional(properties.mappingMemoryName, prefix + "MappingMemoryName", "Name of the mapping memory core segment to use."); @@ -76,7 +76,7 @@ namespace armarx::armem // Wait for the memory to become available and add it as dependency. ARMARX_IMPORTANT << "TransformReader: Waiting for memory '" << properties.memoryName << "' ..."; - auto result = useMemory(properties.memoryName); + auto result = memoryClient.useMemory(properties.memoryName); if (not result.success) { ARMARX_ERROR << result.errorMessage; diff --git a/source/RobotAPI/libraries/armem_robot_mapping/MappingDataReader.h b/source/RobotAPI/libraries/armem_robot_mapping/MappingDataReader.h index 5135d41b8..4f1e32a85 100644 --- a/source/RobotAPI/libraries/armem_robot_mapping/MappingDataReader.h +++ b/source/RobotAPI/libraries/armem_robot_mapping/MappingDataReader.h @@ -27,6 +27,7 @@ #include <ArmarXCore/core/application/properties/PropertyDefinitionContainer.h> +#include <RobotAPI/libraries/armem/client.h> #include <RobotAPI/libraries/armem/client/Reader.h> #include <RobotAPI/libraries/armem/client/MemoryConnector.h> #include <RobotAPI/libraries/armem/client/query/Builder.h> @@ -59,11 +60,10 @@ namespace armarx::armem * * Detailed description of class ExampleClient. */ - class MappingDataReader : - virtual public armarx::armem::MemoryConnector + class MappingDataReader { public: - MappingDataReader(ManagedIceObject& component); + MappingDataReader(armem::ClientReaderComponentPluginUser& memoryClient); virtual ~MappingDataReader(); @@ -102,10 +102,6 @@ namespace armarx::armem void registerPropertyDefinitions(armarx::PropertyDefinitionsPtr& def); - const std::string& getPropertyPrefix() const override - { - return propertyPrefix; - } client::query::Builder buildQuery(const Query& query) const ; @@ -122,7 +118,9 @@ namespace armarx::armem } properties; - const std::string propertyPrefix = "mem.mapping.read."; + const std::string propertyPrefix = "mem.mapping."; + + armem::ClientReaderComponentPluginUser& memoryClient; }; } // namespace armarx::armem diff --git a/source/RobotAPI/libraries/armem_robot_mapping/MappingDataWriter.cpp b/source/RobotAPI/libraries/armem_robot_mapping/MappingDataWriter.cpp index 2216b159f..351d71398 100644 --- a/source/RobotAPI/libraries/armem_robot_mapping/MappingDataWriter.cpp +++ b/source/RobotAPI/libraries/armem_robot_mapping/MappingDataWriter.cpp @@ -7,8 +7,8 @@ namespace armarx::armem { - MappingDataWriter::MappingDataWriter(ManagedIceObject& component) - : MemoryConnector(component) {} + MappingDataWriter::MappingDataWriter(armem::ClientWriterComponentPluginUser& component) + : component(component) {} MappingDataWriter::~MappingDataWriter() = default; @@ -17,9 +17,7 @@ namespace armarx::armem { ARMARX_DEBUG << "TransformWriter: registerPropertyDefinitions"; - MemoryConnector::registerPropertyDefinitions(def); - - const std::string prefix = getPropertyPrefix(); + const std::string prefix = propertyPrefix; def->optional(properties.mappingMemoryName, prefix + "MappingMemoryName", "Name of the mapping memory core segment to use."); @@ -32,7 +30,7 @@ namespace armarx::armem // Wait for the memory to become available and add it as dependency. ARMARX_IMPORTANT << "MappingDataWriter: Waiting for memory '" << properties.memoryName << "' ..."; - auto result = useMemory(properties.memoryName); + auto result = component.useMemory(properties.memoryName); if (not result.success) { ARMARX_ERROR << result.errorMessage; diff --git a/source/RobotAPI/libraries/armem_robot_mapping/MappingDataWriter.h b/source/RobotAPI/libraries/armem_robot_mapping/MappingDataWriter.h index 4eddff56c..e5de99674 100644 --- a/source/RobotAPI/libraries/armem_robot_mapping/MappingDataWriter.h +++ b/source/RobotAPI/libraries/armem_robot_mapping/MappingDataWriter.h @@ -27,7 +27,7 @@ #include <RobotAPI/interface/units/LaserScannerUnit.h> #include <RobotAPI/libraries/armem/client/Writer.h> -#include <RobotAPI/libraries/armem/client/MemoryConnector.h> +#include <RobotAPI/libraries/armem/client.h> namespace armarx::armem @@ -44,11 +44,10 @@ namespace armarx::armem * * Detailed description of class ExampleClient. */ - class MappingDataWriter : - virtual public ::armarx::armem::MemoryConnector + class MappingDataWriter { public: - MappingDataWriter(ManagedIceObject& component); + MappingDataWriter(armem::ClientWriterComponentPluginUser& component); virtual ~MappingDataWriter(); void connect(); @@ -62,11 +61,6 @@ namespace armarx::armem bool storeSensorData(const LaserScan& laserScan, const std::string& frame, const std::string& agentName, const std::int64_t& timestamp); - const std::string& getPropertyPrefix() const override - { - return propertyPrefix; - } - private: armem::client::Writer memoryWriter; @@ -80,7 +74,9 @@ namespace armarx::armem std::mutex memoryWriterMutex; - const std::string propertyPrefix = "mem.mapping.write."; + const std::string propertyPrefix = "mem.mapping."; + + armem::ClientWriterComponentPluginUser& component; }; -- GitLab