From e124b5c7bfe22c3d654d8c5dffc0de913583c01e Mon Sep 17 00:00:00 2001
From: Rainer Kartmann <rainer.kartmann@kit.edu>
Date: Wed, 7 Jul 2021 10:35:58 +0200
Subject: [PATCH] Update includes in component plugins

---
 source/RobotAPI/components/SkillObserver/SkillObserver.h    | 1 +
 .../ArmarXObjects/plugins/ObjectPoseClientPlugin.cpp        | 3 +++
 .../ArmarXObjects/plugins/ObjectPoseClientPlugin.h          | 6 +++++-
 .../ArmarXObjects/plugins/ObjectPoseProviderPlugin.cpp      | 3 +++
 .../ArmarXObjects/plugins/ObjectPoseProviderPlugin.h        | 4 +++-
 .../RobotAPIComponentPlugins/ArVizComponentPlugin.cpp       | 3 +++
 .../RobotAPIComponentPlugins/ArVizComponentPlugin.h         | 5 ++++-
 .../CartesianPositionControlComponentPlugin.cpp             | 3 +++
 .../CartesianPositionControlComponentPlugin.h               | 5 ++++-
 .../DebugDrawerHelperComponentPlugin.cpp                    | 2 ++
 .../DebugDrawerHelperComponentPlugin.h                      | 5 ++++-
 .../FrameTrackingComponentPlugin.cpp                        | 3 +++
 .../RobotAPIComponentPlugins/FrameTrackingComponentPlugin.h | 5 ++++-
 .../GraspCandidateObserverComponentPlugin.cpp               | 2 ++
 .../GraspCandidateObserverComponentPlugin.h                 | 5 ++++-
 .../RobotAPIComponentPlugins/HandUnitComponentPlugin.cpp    | 3 +++
 .../RobotAPIComponentPlugins/HandUnitComponentPlugin.h      | 5 ++++-
 .../KinematicUnitComponentPlugin.cpp                        | 3 +++
 .../RobotAPIComponentPlugins/KinematicUnitComponentPlugin.h | 5 ++++-
 .../RobotAPIComponentPlugins/NaturalIKComponentPlugin.cpp   | 3 +++
 .../RobotAPIComponentPlugins/NaturalIKComponentPlugin.h     | 5 ++++-
 .../PlatformUnitComponentPlugin.cpp                         | 3 +++
 .../RobotAPIComponentPlugins/PlatformUnitComponentPlugin.h  | 5 ++++-
 .../RobotAPIComponentPlugins/RobotStateComponentPlugin.cpp  | 4 ++++
 .../RobotAPIComponentPlugins/RobotStateComponentPlugin.h    | 6 +++++-
 .../RobotAPIComponentPlugins/RobotUnitComponentPlugin.cpp   | 6 +++++-
 .../RobotAPIComponentPlugins/RobotUnitComponentPlugin.h     | 5 ++++-
 .../RobotUnitObserverComponentPlugin.cpp                    | 3 +++
 .../RobotUnitObserverComponentPlugin.h                      | 5 ++++-
 .../TrajectoryPlayerComponentPlugin.cpp                     | 3 +++
 .../TrajectoryPlayerComponentPlugin.h                       | 5 ++++-
 .../armem/client/MemoryNameSystemComponentPlugin.cpp        | 1 +
 .../armem/client/MemoryNameSystemComponentPlugin.h          | 4 +++-
 33 files changed, 112 insertions(+), 17 deletions(-)

diff --git a/source/RobotAPI/components/SkillObserver/SkillObserver.h b/source/RobotAPI/components/SkillObserver/SkillObserver.h
index 44afdb007..54fc0ca89 100644
--- a/source/RobotAPI/components/SkillObserver/SkillObserver.h
+++ b/source/RobotAPI/components/SkillObserver/SkillObserver.h
@@ -22,6 +22,7 @@
 
 #pragma once
 
+#include <mutex>
 #include <thread>
 
 #include <ArmarXCore/core/Component.h>
diff --git a/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseClientPlugin.cpp b/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseClientPlugin.cpp
index b12572855..9bf87346d 100644
--- a/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseClientPlugin.cpp
+++ b/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseClientPlugin.cpp
@@ -1,5 +1,8 @@
 #include "ObjectPoseClientPlugin.h"
 
+#include <ArmarXCore/core/Component.h>
+
+
 namespace armarx::plugins
 {
     void ObjectPoseClientPlugin::postCreatePropertyDefinitions(PropertyDefinitionsPtr& properties)
diff --git a/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseClientPlugin.h b/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseClientPlugin.h
index 996f699ac..769d1176d 100644
--- a/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseClientPlugin.h
+++ b/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseClientPlugin.h
@@ -1,11 +1,12 @@
 #pragma once
 
-#include <ArmarXCore/core/Component.h>
+#include <ArmarXCore/core/ComponentPlugin.h>
 
 #include <RobotAPI/interface/objectpose/ObjectPoseStorageInterface.h>
 #include <RobotAPI/libraries/ArmarXObjects/ObjectFinder.h>
 #include <RobotAPI/libraries/ArmarXObjects/ObjectPose.h>
 
+
 namespace armarx::plugins
 {
     class ObjectPoseClientPlugin : public ComponentPlugin
@@ -51,6 +52,9 @@ namespace armarx::plugins
     };
 }
 
+
+#include <ArmarXCore/core/ManagedIceObject.h>
+
 namespace armarx
 {
     /**
diff --git a/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseProviderPlugin.cpp b/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseProviderPlugin.cpp
index 63ccab6e1..6aef209e6 100644
--- a/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseProviderPlugin.cpp
+++ b/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseProviderPlugin.cpp
@@ -1,5 +1,8 @@
 #include "ObjectPoseProviderPlugin.h"
 
+#include <ArmarXCore/core/Component.h>
+
+
 namespace armarx::plugins
 {
 
diff --git a/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseProviderPlugin.h b/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseProviderPlugin.h
index 2f7c87ef5..1d0191ed6 100644
--- a/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseProviderPlugin.h
+++ b/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseProviderPlugin.h
@@ -1,6 +1,6 @@
 #pragma once
 
-#include <ArmarXCore/core/Component.h>
+#include <ArmarXCore/core/ComponentPlugin.h>
 
 #include <RobotAPI/interface/objectpose/ObjectPoseProvider.h>
 
@@ -32,6 +32,8 @@ namespace armarx::plugins
 }
 
 
+#include <ArmarXCore/core/ManagedIceObject.h>
+
 namespace armarx
 {
 
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/ArVizComponentPlugin.cpp b/source/RobotAPI/libraries/RobotAPIComponentPlugins/ArVizComponentPlugin.cpp
index b0079227d..859389a12 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/ArVizComponentPlugin.cpp
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/ArVizComponentPlugin.cpp
@@ -1,5 +1,8 @@
 #include "ArVizComponentPlugin.h"
 
+#include <ArmarXCore/core/Component.h>
+
+
 namespace armarx::plugins
 {
     std::string ArVizComponentPlugin::getTopicName()
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/ArVizComponentPlugin.h b/source/RobotAPI/libraries/RobotAPIComponentPlugins/ArVizComponentPlugin.h
index a4388cb60..6ce746edd 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/ArVizComponentPlugin.h
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/ArVizComponentPlugin.h
@@ -1,6 +1,6 @@
 #pragma once
 
-#include <ArmarXCore/core/Component.h>
+#include <ArmarXCore/core/ComponentPlugin.h>
 
 #include <RobotAPI/components/ArViz/Client/Client.h>
 
@@ -27,6 +27,9 @@ namespace armarx::plugins
     };
 }
 
+
+#include <ArmarXCore/core/ManagedIceObject.h>
+
 namespace armarx
 {
     /**
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/CartesianPositionControlComponentPlugin.cpp b/source/RobotAPI/libraries/RobotAPIComponentPlugins/CartesianPositionControlComponentPlugin.cpp
index 6b403e45c..9d241c0c9 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/CartesianPositionControlComponentPlugin.cpp
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/CartesianPositionControlComponentPlugin.cpp
@@ -1,5 +1,8 @@
 #include "CartesianPositionControlComponentPlugin.h"
 
+#include <ArmarXCore/core/Component.h>
+
+
 namespace armarx
 {
     namespace plugins
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/CartesianPositionControlComponentPlugin.h b/source/RobotAPI/libraries/RobotAPIComponentPlugins/CartesianPositionControlComponentPlugin.h
index 0d53885cc..3a6dfebd0 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/CartesianPositionControlComponentPlugin.h
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/CartesianPositionControlComponentPlugin.h
@@ -1,6 +1,6 @@
 #pragma once
 
-#include <ArmarXCore/core/Component.h>
+#include <ArmarXCore/core/ComponentPlugin.h>
 #include <RobotAPI/interface/components/CartesianPositionControlInterface.h>
 
 
@@ -30,6 +30,9 @@ namespace armarx
     }
 }
 
+
+#include <ArmarXCore/core/ManagedIceObject.h>
+
 namespace armarx
 {
     /**
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/DebugDrawerHelperComponentPlugin.cpp b/source/RobotAPI/libraries/RobotAPIComponentPlugins/DebugDrawerHelperComponentPlugin.cpp
index 5fd0cd798..bd9958005 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/DebugDrawerHelperComponentPlugin.cpp
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/DebugDrawerHelperComponentPlugin.cpp
@@ -21,9 +21,11 @@
  */
 
 #include <ArmarXCore/util/CPPUtility/trace.h>
+#include <ArmarXCore/core/Component.h>
 
 #include "DebugDrawerHelperComponentPlugin.h"
 
+
 namespace armarx::plugins
 {
     DebugDrawerHelperComponentPlugin::DebugDrawerHelperComponentPlugin(ManagedIceObject& parent, std::string pre) :
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/DebugDrawerHelperComponentPlugin.h b/source/RobotAPI/libraries/RobotAPIComponentPlugins/DebugDrawerHelperComponentPlugin.h
index 1cf37ba70..59ed86bb9 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/DebugDrawerHelperComponentPlugin.h
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/DebugDrawerHelperComponentPlugin.h
@@ -22,7 +22,7 @@
 
 #pragma once
 
-#include <ArmarXCore/core/Component.h>
+#include <ArmarXCore/core/ComponentPlugin.h>
 
 #include <RobotAPI/components/DebugDrawer/DebugDrawerHelper.h>
 
@@ -82,6 +82,9 @@ namespace armarx::plugins
     };
 }
 
+
+#include <ArmarXCore/core/ManagedIceObject.h>
+
 namespace armarx
 {
     class DebugDrawerHelperComponentPluginUser : virtual public ManagedIceObject
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/FrameTrackingComponentPlugin.cpp b/source/RobotAPI/libraries/RobotAPIComponentPlugins/FrameTrackingComponentPlugin.cpp
index f5ba6417a..1ca9b3959 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/FrameTrackingComponentPlugin.cpp
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/FrameTrackingComponentPlugin.cpp
@@ -1,5 +1,8 @@
 #include "FrameTrackingComponentPlugin.h"
 
+#include <ArmarXCore/core/Component.h>
+
+
 namespace armarx
 {
     namespace plugins
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/FrameTrackingComponentPlugin.h b/source/RobotAPI/libraries/RobotAPIComponentPlugins/FrameTrackingComponentPlugin.h
index 82b1b593d..8364375ea 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/FrameTrackingComponentPlugin.h
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/FrameTrackingComponentPlugin.h
@@ -1,6 +1,6 @@
 #pragma once
 
-#include <ArmarXCore/core/Component.h>
+#include <ArmarXCore/core/ComponentPlugin.h>
 #include <RobotAPI/interface/components/FrameTrackingInterface.h>
 
 
@@ -30,6 +30,9 @@ namespace armarx
     }
 }
 
+
+#include <ArmarXCore/core/ManagedIceObject.h>
+
 namespace armarx
 {
     /**
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/GraspCandidateObserverComponentPlugin.cpp b/source/RobotAPI/libraries/RobotAPIComponentPlugins/GraspCandidateObserverComponentPlugin.cpp
index 47494bcad..6ab08acae 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/GraspCandidateObserverComponentPlugin.cpp
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/GraspCandidateObserverComponentPlugin.cpp
@@ -1,5 +1,7 @@
 #include <SimoxUtility/algorithm/string/string_tools.h>
 
+#include <ArmarXCore/core/Component.h>
+
 #include "GraspCandidateObserverComponentPlugin.h"
 
 namespace armarx
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/GraspCandidateObserverComponentPlugin.h b/source/RobotAPI/libraries/RobotAPIComponentPlugins/GraspCandidateObserverComponentPlugin.h
index e2f134ef7..a47f78775 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/GraspCandidateObserverComponentPlugin.h
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/GraspCandidateObserverComponentPlugin.h
@@ -1,6 +1,6 @@
 #pragma once
 
-#include <ArmarXCore/core/Component.h>
+#include <ArmarXCore/core/ComponentPlugin.h>
 #include <RobotAPI/interface/observers/GraspCandidateObserverInterface.h>
 
 namespace armarx
@@ -36,6 +36,9 @@ namespace armarx
     }
 }
 
+
+#include <ArmarXCore/core/ManagedIceObject.h>
+
 namespace armarx
 {
     /**
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/HandUnitComponentPlugin.cpp b/source/RobotAPI/libraries/RobotAPIComponentPlugins/HandUnitComponentPlugin.cpp
index c99b6a9c2..df3ed14e1 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/HandUnitComponentPlugin.cpp
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/HandUnitComponentPlugin.cpp
@@ -1,5 +1,8 @@
 #include "HandUnitComponentPlugin.h"
 
+#include <ArmarXCore/core/Component.h>
+
+
 namespace armarx
 {
     namespace plugins
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/HandUnitComponentPlugin.h b/source/RobotAPI/libraries/RobotAPIComponentPlugins/HandUnitComponentPlugin.h
index 4cd3593cb..6cfe35ef7 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/HandUnitComponentPlugin.h
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/HandUnitComponentPlugin.h
@@ -1,6 +1,6 @@
 #pragma once
 
-#include <ArmarXCore/core/Component.h>
+#include <ArmarXCore/core/ComponentPlugin.h>
 #include <RobotAPI/interface/units/HandUnitInterface.h>
 
 
@@ -30,6 +30,9 @@ namespace armarx
     }
 }
 
+
+#include <ArmarXCore/core/ManagedIceObject.h>
+
 namespace armarx
 {
     /**
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/KinematicUnitComponentPlugin.cpp b/source/RobotAPI/libraries/RobotAPIComponentPlugins/KinematicUnitComponentPlugin.cpp
index ba8ba16d2..59dc918a1 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/KinematicUnitComponentPlugin.cpp
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/KinematicUnitComponentPlugin.cpp
@@ -1,5 +1,8 @@
 #include "KinematicUnitComponentPlugin.h"
 
+#include <ArmarXCore/core/Component.h>
+
+
 namespace armarx
 {
     namespace plugins
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/KinematicUnitComponentPlugin.h b/source/RobotAPI/libraries/RobotAPIComponentPlugins/KinematicUnitComponentPlugin.h
index e3b4062b5..2b3486826 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/KinematicUnitComponentPlugin.h
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/KinematicUnitComponentPlugin.h
@@ -1,6 +1,6 @@
 #pragma once
 
-#include <ArmarXCore/core/Component.h>
+#include <ArmarXCore/core/ComponentPlugin.h>
 #include <RobotAPI/interface/units/KinematicUnitInterface.h>
 
 
@@ -30,6 +30,9 @@ namespace armarx
     }
 }
 
+
+#include <ArmarXCore/core/ManagedIceObject.h>
+
 namespace armarx
 {
     /**
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/NaturalIKComponentPlugin.cpp b/source/RobotAPI/libraries/RobotAPIComponentPlugins/NaturalIKComponentPlugin.cpp
index 008d49765..fd592a925 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/NaturalIKComponentPlugin.cpp
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/NaturalIKComponentPlugin.cpp
@@ -1,5 +1,8 @@
 #include "NaturalIKComponentPlugin.h"
 
+#include <ArmarXCore/core/Component.h>
+
+
 namespace armarx
 {
     namespace plugins
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/NaturalIKComponentPlugin.h b/source/RobotAPI/libraries/RobotAPIComponentPlugins/NaturalIKComponentPlugin.h
index 0532416d5..c7e1c9cf6 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/NaturalIKComponentPlugin.h
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/NaturalIKComponentPlugin.h
@@ -1,6 +1,6 @@
 #pragma once
 
-#include <ArmarXCore/core/Component.h>
+#include <ArmarXCore/core/ComponentPlugin.h>
 #include <RobotAPI/interface/components/NaturalIKInterface.h>
 
 
@@ -30,6 +30,9 @@ namespace armarx
     }
 }
 
+
+#include <ArmarXCore/core/ManagedIceObject.h>
+
 namespace armarx
 {
     /**
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/PlatformUnitComponentPlugin.cpp b/source/RobotAPI/libraries/RobotAPIComponentPlugins/PlatformUnitComponentPlugin.cpp
index f40b6cd34..affec3b90 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/PlatformUnitComponentPlugin.cpp
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/PlatformUnitComponentPlugin.cpp
@@ -1,5 +1,8 @@
 #include "PlatformUnitComponentPlugin.h"
 
+#include <ArmarXCore/core/Component.h>
+
+
 namespace armarx
 {
     namespace plugins
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/PlatformUnitComponentPlugin.h b/source/RobotAPI/libraries/RobotAPIComponentPlugins/PlatformUnitComponentPlugin.h
index d2cec0f45..67b0edbc3 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/PlatformUnitComponentPlugin.h
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/PlatformUnitComponentPlugin.h
@@ -1,6 +1,6 @@
 #pragma once
 
-#include <ArmarXCore/core/Component.h>
+#include <ArmarXCore/core/ComponentPlugin.h>
 #include <RobotAPI/interface/units/PlatformUnitInterface.h>
 
 
@@ -30,6 +30,9 @@ namespace armarx
     }
 }
 
+
+#include <ArmarXCore/core/ManagedIceObject.h>
+
 namespace armarx
 {
     /**
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/RobotStateComponentPlugin.cpp b/source/RobotAPI/libraries/RobotAPIComponentPlugins/RobotStateComponentPlugin.cpp
index 026024a9f..b9ad4f67a 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/RobotStateComponentPlugin.cpp
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/RobotStateComponentPlugin.cpp
@@ -19,11 +19,15 @@
  * @copyright  http://www.gnu.org/licenses/gpl-2.0.txt
  *             GNU General Public License
  */
+
+#include <ArmarXCore/core/Component.h>
+
 #include <RobotAPI/libraries/core/remoterobot/RemoteRobot.h>
 #include <RobotAPI/libraries/core/FramedPose.h>
 
 #include "RobotStateComponentPlugin.h"
 
+
 namespace armarx::plugins
 {
     const RobotNameHelper& RobotStateComponentPlugin::getRobotNameHelper() const
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/RobotStateComponentPlugin.h b/source/RobotAPI/libraries/RobotAPIComponentPlugins/RobotStateComponentPlugin.h
index d60ed34f0..d3a1ba42b 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/RobotStateComponentPlugin.h
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/RobotStateComponentPlugin.h
@@ -27,12 +27,13 @@
 #include <VirtualRobot/Robot.h>
 #include <VirtualRobot/XML/RobotIO.h>
 
-#include <ArmarXCore/core/Component.h>
+#include <ArmarXCore/core/ComponentPlugin.h>
 
 #include <RobotAPI/libraries/RobotStatechartHelpers/RobotNameHelper.h>
 #include <RobotAPI/interface/core/RobotState.h>
 #include <RobotAPI/libraries/diffik/SimpleDiffIK.h>
 
+
 namespace armarx::plugins
 {
     /**
@@ -158,6 +159,9 @@ namespace armarx::plugins
     };
 }
 
+
+#include <ArmarXCore/core/ManagedIceObject.h>
+
 namespace armarx
 {
     class RobotStateComponentPluginUser : virtual public ManagedIceObject
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/RobotUnitComponentPlugin.cpp b/source/RobotAPI/libraries/RobotAPIComponentPlugins/RobotUnitComponentPlugin.cpp
index 3259d2011..4e6e7966c 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/RobotUnitComponentPlugin.cpp
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/RobotUnitComponentPlugin.cpp
@@ -1,7 +1,11 @@
 #include "RobotUnitComponentPlugin.h"
-#include "ArmarXCore/util/CPPUtility/Pointer.h"
+
+#include <ArmarXCore/core/Component.h>
+#include <ArmarXCore/util/CPPUtility/Pointer.h>
+
 #include <thread>
 
+
 namespace armarx::plugins
 {
     RobotUnitDataStreamingReceiverPtr
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/RobotUnitComponentPlugin.h b/source/RobotAPI/libraries/RobotAPIComponentPlugins/RobotUnitComponentPlugin.h
index 80deaf3e5..80357a96e 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/RobotUnitComponentPlugin.h
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/RobotUnitComponentPlugin.h
@@ -1,6 +1,6 @@
 #pragma once
 
-#include <ArmarXCore/core/Component.h>
+#include <ArmarXCore/core/ComponentPlugin.h>
 #include <RobotAPI/interface/units/RobotUnit/RobotUnitInterface.h>
 #include <RobotAPI/libraries/RobotUnitDataStreamingReceiver/RobotUnitDataStreamingReceiver.h>
 
@@ -75,6 +75,9 @@ namespace armarx
     }
 }
 
+
+#include <ArmarXCore/core/ManagedIceObject.h>
+
 namespace armarx
 {
     /**
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/RobotUnitObserverComponentPlugin.cpp b/source/RobotAPI/libraries/RobotAPIComponentPlugins/RobotUnitObserverComponentPlugin.cpp
index 284533cf1..0b5805c20 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/RobotUnitObserverComponentPlugin.cpp
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/RobotUnitObserverComponentPlugin.cpp
@@ -1,5 +1,8 @@
 #include "RobotUnitObserverComponentPlugin.h"
 
+#include <ArmarXCore/core/Component.h>
+
+
 namespace armarx
 {
     namespace plugins
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/RobotUnitObserverComponentPlugin.h b/source/RobotAPI/libraries/RobotAPIComponentPlugins/RobotUnitObserverComponentPlugin.h
index 0ebeff910..27b70a506 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/RobotUnitObserverComponentPlugin.h
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/RobotUnitObserverComponentPlugin.h
@@ -1,6 +1,6 @@
 #pragma once
 
-#include <ArmarXCore/core/Component.h>
+#include <ArmarXCore/core/ComponentPlugin.h>
 #include <ArmarXCore/interface/observers/ObserverInterface.h>
 
 
@@ -30,6 +30,9 @@ namespace armarx
     }
 }
 
+
+#include <ArmarXCore/core/ManagedIceObject.h>
+
 namespace armarx
 {
     /**
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/TrajectoryPlayerComponentPlugin.cpp b/source/RobotAPI/libraries/RobotAPIComponentPlugins/TrajectoryPlayerComponentPlugin.cpp
index 1de30ae07..28a6479b0 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/TrajectoryPlayerComponentPlugin.cpp
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/TrajectoryPlayerComponentPlugin.cpp
@@ -1,5 +1,8 @@
 #include "TrajectoryPlayerComponentPlugin.h"
 
+#include <ArmarXCore/core/Component.h>
+
+
 namespace armarx
 {
     namespace plugins
diff --git a/source/RobotAPI/libraries/RobotAPIComponentPlugins/TrajectoryPlayerComponentPlugin.h b/source/RobotAPI/libraries/RobotAPIComponentPlugins/TrajectoryPlayerComponentPlugin.h
index 3fc52df85..28d57ca04 100644
--- a/source/RobotAPI/libraries/RobotAPIComponentPlugins/TrajectoryPlayerComponentPlugin.h
+++ b/source/RobotAPI/libraries/RobotAPIComponentPlugins/TrajectoryPlayerComponentPlugin.h
@@ -1,6 +1,6 @@
 #pragma once
 
-#include <ArmarXCore/core/Component.h>
+#include <ArmarXCore/core/ComponentPlugin.h>
 #include <RobotAPI/interface/components/TrajectoryPlayerInterface.h>
 
 
@@ -30,6 +30,9 @@ namespace armarx
     }
 }
 
+
+#include <ArmarXCore/core/ManagedIceObject.h>
+
 namespace armarx
 {
     /**
diff --git a/source/RobotAPI/libraries/armem/client/MemoryNameSystemComponentPlugin.cpp b/source/RobotAPI/libraries/armem/client/MemoryNameSystemComponentPlugin.cpp
index 1d24d974e..60fae2cf9 100644
--- a/source/RobotAPI/libraries/armem/client/MemoryNameSystemComponentPlugin.cpp
+++ b/source/RobotAPI/libraries/armem/client/MemoryNameSystemComponentPlugin.cpp
@@ -1,5 +1,6 @@
 #include "MemoryNameSystemComponentPlugin.h"
 
+#include <ArmarXCore/core/Component.h>
 #include <ArmarXCore/core/exceptions/local/ExpressionException.h>
 
 #include <RobotAPI/libraries/armem/core/error.h>
diff --git a/source/RobotAPI/libraries/armem/client/MemoryNameSystemComponentPlugin.h b/source/RobotAPI/libraries/armem/client/MemoryNameSystemComponentPlugin.h
index 2e71cd33c..a6a2434a6 100644
--- a/source/RobotAPI/libraries/armem/client/MemoryNameSystemComponentPlugin.h
+++ b/source/RobotAPI/libraries/armem/client/MemoryNameSystemComponentPlugin.h
@@ -1,6 +1,6 @@
 #pragma once
 
-#include <ArmarXCore/core/Component.h>
+#include <ArmarXCore/core/ComponentPlugin.h>
 
 #include <RobotAPI/interface/armem/mns/MemoryNameSystemInterface.h>
 #include <RobotAPI/interface/armem/client/MemoryListenerInterface.h>
@@ -55,6 +55,8 @@ namespace armarx::armem::client::plugins
 }
 
 
+#include <ArmarXCore/core/ManagedIceObject.h>
+
 namespace armarx::armem::client
 {
 
-- 
GitLab