From 10562c2e51163a7140b54b7bfeae92ff0b8342ab Mon Sep 17 00:00:00 2001
From: Fabian Peller-Konrad <fabian.peller-konrad@kit.edu>
Date: Thu, 15 Aug 2024 11:51:50 +0200
Subject: [PATCH] unchecked cast for objProxy, add preOnConnect to mns

---
 source/RobotAPI/libraries/armem/mns/Registry.cpp     |  2 +-
 .../libraries/armem/server/plugins/Plugin.cpp        | 12 +++++++++---
 .../RobotAPI/libraries/armem/server/plugins/Plugin.h |  1 +
 .../armem_objects/client/instance/ObjectReader.cpp   |  2 +-
 4 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/source/RobotAPI/libraries/armem/mns/Registry.cpp b/source/RobotAPI/libraries/armem/mns/Registry.cpp
index 2c0a92da8..b11b82228 100644
--- a/source/RobotAPI/libraries/armem/mns/Registry.cpp
+++ b/source/RobotAPI/libraries/armem/mns/Registry.cpp
@@ -54,7 +54,7 @@ namespace armarx::armem::mns
         info.name = input.name;
         info.server = input.server;
         info.timeRegistered = armem::Time::Now();
-        ARMARX_DEBUG << "Registered memory '" << info.name << "'.";
+        ARMARX_INFO << "Registered memory '" << info.name << "'.";
 
         result.success = true;
         return result;
diff --git a/source/RobotAPI/libraries/armem/server/plugins/Plugin.cpp b/source/RobotAPI/libraries/armem/server/plugins/Plugin.cpp
index 193ca45e3..6443b3887 100644
--- a/source/RobotAPI/libraries/armem/server/plugins/Plugin.cpp
+++ b/source/RobotAPI/libraries/armem/server/plugins/Plugin.cpp
@@ -76,15 +76,21 @@ namespace armarx::armem::server::plugins
     }
 
     void
-    Plugin::postOnConnectComponent()
+    Plugin::preOnConnectComponent()
     {
         Component& parent = this->parent<Component>();
 
-        // register to MNS
+        // register new server info to MNS
         if (clientPlugin->isMemoryNameSystemEnabled() and clientPlugin->getMemoryNameSystemClient())
         {
-            registerServer(parent);
+          registerServer(parent);
         }
+    }
+
+    void
+    Plugin::postOnConnectComponent()
+    {
+        Component& parent = this->parent<Component>();
         parent.getTopic(memoryTopic, memoryTopicName);
         iceAdapter.setMemoryListener(memoryTopic);
 
diff --git a/source/RobotAPI/libraries/armem/server/plugins/Plugin.h b/source/RobotAPI/libraries/armem/server/plugins/Plugin.h
index 0712e4d9f..0bb86b71b 100644
--- a/source/RobotAPI/libraries/armem/server/plugins/Plugin.h
+++ b/source/RobotAPI/libraries/armem/server/plugins/Plugin.h
@@ -31,6 +31,7 @@ namespace armarx::armem::server::plugins
 
         virtual void preOnInitComponent() override;
         virtual void postOnInitComponent() override;
+        virtual void preOnConnectComponent() override;
         virtual void postOnConnectComponent() override;
         virtual void preOnDisconnectComponent() override;
 
diff --git a/source/RobotAPI/libraries/armem_objects/client/instance/ObjectReader.cpp b/source/RobotAPI/libraries/armem_objects/client/instance/ObjectReader.cpp
index 131fdc655..4828ac168 100644
--- a/source/RobotAPI/libraries/armem_objects/client/instance/ObjectReader.cpp
+++ b/source/RobotAPI/libraries/armem_objects/client/instance/ObjectReader.cpp
@@ -41,7 +41,7 @@ namespace armarx::armem::obj::instance
 
             // cast MemoryPrx to objPoseStoragePrx
             this->objPoseStorage =
-                objpose::ObjectPoseStorageInterfacePrx::checkedCast(r.readingPrx);
+                objpose::ObjectPoseStorageInterfacePrx::uncheckedCast(r.readingPrx);
 
             ARMARX_IMPORTANT << "Connected to Memory and ObjectPoseStorage '" << p.memoryName
                              << "'";
-- 
GitLab