From 3d61952e66b43894691dd73ca0ce144c93ea6a36 Mon Sep 17 00:00:00 2001
From: Firat Yusuf Duran <uzivy@student.kit.edu>
Date: Fri, 13 Sep 2024 16:52:35 +0200
Subject: [PATCH] add addProfile to skillmanager

---
 .../components/armem/server/SkillsMemory/SkillsMemory.cpp    | 5 +++++
 .../components/armem/server/SkillsMemory/SkillsMemory.h      | 3 ++-
 .../skills/manager/SkillManagerComponentPluginUser.cpp       | 5 +++++
 .../skills/manager/SkillManagerComponentPluginUser.h         | 2 ++
 4 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/source/RobotAPI/components/armem/server/SkillsMemory/SkillsMemory.cpp b/source/RobotAPI/components/armem/server/SkillsMemory/SkillsMemory.cpp
index d2e8de3eb..248c0f5cc 100644
--- a/source/RobotAPI/components/armem/server/SkillsMemory/SkillsMemory.cpp
+++ b/source/RobotAPI/components/armem/server/SkillsMemory/SkillsMemory.cpp
@@ -245,4 +245,9 @@ namespace armarx
     {
         return composedSkillCoreSegment.getSkills();
     }
+
+    void SkillsMemory::addProfile(const skills::manager::arondto::FluxioProfile& profile)
+    {
+        profileCoreSegment.addProfile(profile);
+    }
 } // namespace armarx
diff --git a/source/RobotAPI/components/armem/server/SkillsMemory/SkillsMemory.h b/source/RobotAPI/components/armem/server/SkillsMemory/SkillsMemory.h
index ffc874211..4a4922c45 100644
--- a/source/RobotAPI/components/armem/server/SkillsMemory/SkillsMemory.h
+++ b/source/RobotAPI/components/armem/server/SkillsMemory/SkillsMemory.h
@@ -114,9 +114,10 @@ namespace armarx
         //****************************//
 
         void saveSkill(const skills::manager::arondto::FluxioSkill& skillt) override;
-
         std::optional<std::vector<skills::manager::arondto::FluxioSkill>> loadSkills() override;
 
+        void addProfile(const skills::manager::arondto::FluxioProfile& profile) override;
+
     protected:
         /// @see armarx::ManagedIceObject::onInitComponent()
         void onInitComponent() override;
diff --git a/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPluginUser.cpp b/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPluginUser.cpp
index ec948a3bf..90b975e0d 100644
--- a/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPluginUser.cpp
+++ b/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPluginUser.cpp
@@ -24,6 +24,7 @@
 #include "RobotAPI/libraries/skills/manager/SkillManagerComponentPlugin.h"
 #include <RobotAPI/interface/aron/Aron.h>
 #include <RobotAPI/interface/skills/SkillManagerInterface.h>
+#include <RobotAPI/libraries/skills/core/aron/FluxioProfile.aron.generated.h>
 #include <RobotAPI/libraries/skills/core/aron/FluxioSkill.aron.generated.h>
 
 namespace armarx
@@ -716,4 +717,8 @@ namespace armarx
         // Implemented in derived class
         return {};
     }
+
+    void SkillManagerComponentPluginUser::addProfile(const skills::manager::arondto::FluxioProfile& profile) {
+        // Implemented in derived class
+    }
 } // namespace armarx
diff --git a/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPluginUser.h b/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPluginUser.h
index dceb911f4..db6130f59 100644
--- a/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPluginUser.h
+++ b/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPluginUser.h
@@ -154,6 +154,8 @@ namespace armarx
         virtual void saveSkill(const skills::manager::arondto::FluxioSkill& skill);
         virtual std::optional<std::vector<skills::manager::arondto::FluxioSkill>> loadSkills();
 
+        virtual void addProfile(const skills::manager::arondto::FluxioProfile& profile);
+
     private:
         armarx::plugins::SkillManagerComponentPlugin* plugin = nullptr;
     };
-- 
GitLab