Skip to content
Snippets Groups Projects
Commit f2ef0ddd authored by Fabian Reister's avatar Fabian Reister
Browse files

articulated object reader and writer: taking (memory) Client**ComponentPluginUser via c'tor

parent d566dfb7
No related branches found
No related tags found
2 merge requests!157armem/dev => master,!144robot state memory update
......@@ -18,7 +18,7 @@ namespace fs = ::std::filesystem;
namespace armarx::armem::articulated_object
{
Reader::Reader(ManagedIceObject& component) : MemoryConnector(component) {}
Reader::Reader(armem::ClientReaderComponentPluginUser& component) : component(component) {}
std::optional<ArticulatedObject> Reader::get(const std::string& name, const armem::Time& timestamp)
{
......
......@@ -24,7 +24,7 @@
#include <mutex>
#include <optional>
#include "RobotAPI/libraries/armem/client/MemoryConnector.h"
#include "RobotAPI/libraries/armem/client.h"
#include "RobotAPI/libraries/armem/client/Reader.h"
#include "interfaces.h"
......@@ -32,11 +32,11 @@
namespace armarx::armem::articulated_object
{
class Reader:
virtual public ReaderInterface,
virtual public ::armarx::armem::MemoryConnector
virtual public ReaderInterface
// virtual public ::armarx::armem::MemoryConnector
{
public:
Reader(ManagedIceObject& component);
Reader(armem::ClientReaderComponentPluginUser& component);
virtual ~Reader() = default;
void synchronize(ArticulatedObject& obj, const armem::Time& timestamp) override;
......@@ -69,6 +69,7 @@ namespace armarx::armem::articulated_object
armem::client::Reader memoryReader;
std::mutex memoryWriterMutex;
armem::ClientReaderComponentPluginUser& component;
};
......
......@@ -15,15 +15,15 @@
namespace armarx::armem::articulated_object
{
Writer::Writer(ManagedIceObject& component): MemoryConnector(component) {}
Writer::Writer(armem::ClientComponentPluginUser& component): component(component) {}
void Writer::registerPropertyDefinitions(armarx::PropertyDefinitionsPtr& def)
{
ARMARX_DEBUG << "Writer: registerPropertyDefinitions";
MemoryConnector::registerPropertyDefinitions(def);
// MemoryConnector::registerPropertyDefinitions(def);
const std::string prefix = getPropertyPrefix();
const std::string prefix = propertyPrefix;
def->optional(properties.memoryName, prefix + "MemoryName");
......@@ -40,7 +40,7 @@ namespace armarx::armem::articulated_object
{
// Wait for the memory to become available and add it as dependency.
ARMARX_IMPORTANT << "Writer: Waiting for memory '" << properties.memoryName << "' ...";
auto result = useMemory(properties.memoryName);
auto result = component.useMemory(properties.memoryName);
if (not result.success)
{
ARMARX_ERROR << result.errorMessage;
......@@ -217,9 +217,9 @@ namespace armarx::armem::articulated_object
return storeInstance(obj);
}
const std::string& Writer::getPropertyPrefix() const
{
return propertyPrefix;
}
// const std::string& Writer::getPropertyPrefix() const
// {
// return propertyPrefix;
// }
} // namespace armarx::armem::articulated_object
\ No newline at end of file
......@@ -26,6 +26,7 @@
#include "RobotAPI/libraries/armem/client/MemoryConnector.h"
#include "RobotAPI/libraries/armem/client/Reader.h"
#include "RobotAPI/libraries/armem/client/Writer.h"
#include "RobotAPI/libraries/armem/client.h"
#include "interfaces.h"
......@@ -34,11 +35,11 @@ namespace armarx::armem::articulated_object
{
class Writer:
virtual public WriterInterface,
virtual public MemoryConnector
virtual public WriterInterface //,
// virtual public MemoryConnector
{
public:
Writer(ManagedIceObject& component);
Writer(armem::ClientComponentPluginUser& component);
virtual ~Writer() = default;
......@@ -51,7 +52,7 @@ namespace armarx::armem::articulated_object
bool storeInstance(const ArticulatedObject& obj);
std::optional<armem::MemoryID> storeClass(const ArticulatedObject& obj);
const std::string& getPropertyPrefix() const override;
// const std::string& getPropertyPrefix() const override;
private:
std::optional<armem::MemoryID> storeOrGetClass(const ArticulatedObject& obj);
......@@ -77,6 +78,8 @@ namespace armarx::armem::articulated_object
// key: name of object: RobotDescription::name
std::map<std::string, MemoryID> knownObjects;
armem::ClientComponentPluginUser& component;
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment