From d18c1253a49d3191ba773fc392e12b2e9be3cad9 Mon Sep 17 00:00:00 2001
From: Fabian Reister <fabian.reister@kit.edu>
Date: Wed, 17 Nov 2021 15:58:09 +0100
Subject: [PATCH] armem_objects/client/articulated_object: sync: returing bool
 instead of void

---
 .../armem_objects/client/articulated_object/Reader.cpp       | 5 +++--
 .../armem_objects/client/articulated_object/Reader.h         | 2 +-
 .../armem_objects/client/articulated_object/interfaces.h     | 2 +-
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/source/RobotAPI/libraries/armem_objects/client/articulated_object/Reader.cpp b/source/RobotAPI/libraries/armem_objects/client/articulated_object/Reader.cpp
index c554afd52..64dfbc7f5 100644
--- a/source/RobotAPI/libraries/armem_objects/client/articulated_object/Reader.cpp
+++ b/source/RobotAPI/libraries/armem_objects/client/articulated_object/Reader.cpp
@@ -146,7 +146,7 @@ namespace armarx::armem::articulated_object
         return obj;
     }
 
-    void
+    bool
     Reader::synchronize(ArticulatedObject& obj, const armem::Time& timestamp)
     {
         ARMARX_CHECK_NOT_EMPTY(obj.instance) << "An instance name must be provided!";
@@ -156,10 +156,11 @@ namespace armarx::armem::articulated_object
         if (not state) /* c++20 [[unlikely]] */
         {
             ARMARX_WARNING << "Could not synchronize object " << obj.instance;
-            return;
+            return false;
         }
 
         obj.config = std::move(*state);
+        return true;
     }
 
     std::vector<robot::RobotDescription>
diff --git a/source/RobotAPI/libraries/armem_objects/client/articulated_object/Reader.h b/source/RobotAPI/libraries/armem_objects/client/articulated_object/Reader.h
index 3108b17f9..91a38432f 100644
--- a/source/RobotAPI/libraries/armem_objects/client/articulated_object/Reader.h
+++ b/source/RobotAPI/libraries/armem_objects/client/articulated_object/Reader.h
@@ -45,7 +45,7 @@ namespace armarx::armem::articulated_object
         void registerPropertyDefinitions(armarx::PropertyDefinitionsPtr& def);
         void connect();
 
-        void synchronize(ArticulatedObject& obj, const armem::Time& timestamp) override;
+        bool synchronize(ArticulatedObject& obj, const armem::Time& timestamp) override;
 
         std::optional<ArticulatedObject> get(const std::string& name,
                                              const armem::Time& timestamp) override;
diff --git a/source/RobotAPI/libraries/armem_objects/client/articulated_object/interfaces.h b/source/RobotAPI/libraries/armem_objects/client/articulated_object/interfaces.h
index a3061a553..d7e74a9a0 100644
--- a/source/RobotAPI/libraries/armem_objects/client/articulated_object/interfaces.h
+++ b/source/RobotAPI/libraries/armem_objects/client/articulated_object/interfaces.h
@@ -11,7 +11,7 @@ namespace armarx::armem::articulated_object
     public:
         virtual ~ReaderInterface() = default;
 
-        virtual void synchronize(ArticulatedObject& obj, const armem::Time& timestamp) = 0;
+        virtual bool synchronize(ArticulatedObject& obj, const armem::Time& timestamp) = 0;
 
         virtual ArticulatedObject get(const ArticulatedObjectDescription& description, const armem::Time& timestamp, const std::string& instanceName) = 0;
         virtual std::optional<ArticulatedObject> get(const std::string& name, const armem::Time& timestamp) = 0;
-- 
GitLab