From 77fbceeb8479014c9ef17764ac8102d4686fa998 Mon Sep 17 00:00:00 2001
From: Fabian Peller <fabian.peller-konrad@kit.edu>
Date: Tue, 17 Oct 2023 19:25:11 +0200
Subject: [PATCH] add legacy ctor for skill description

---
 .../skills/SkillProviderExample/Callback.cpp         |  2 +-
 .../skills/SkillProviderExample/Chaining.cpp         |  2 +-
 .../skills/SkillProviderExample/Timeout.cpp          |  2 +-
 .../libraries/skills/core/SkillDescription.cpp       | 12 ++++++++++++
 .../libraries/skills/core/SkillDescription.h         | 11 +++++++++++
 5 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/source/RobotAPI/components/skills/SkillProviderExample/Callback.cpp b/source/RobotAPI/components/skills/SkillProviderExample/Callback.cpp
index d13f3bb8d..5fcb8e0cb 100644
--- a/source/RobotAPI/components/skills/SkillProviderExample/Callback.cpp
+++ b/source/RobotAPI/components/skills/SkillProviderExample/Callback.cpp
@@ -12,7 +12,7 @@ namespace armarx::skills::provider
     {
         return SkillDescription{{"ShowMeCallbacks"},
                                 "This skill does shows callbacks",
-                                {},
+                                nullptr,
                                 armarx::core::time::Duration::MilliSeconds(1000),
                                 nullptr};
     }
diff --git a/source/RobotAPI/components/skills/SkillProviderExample/Chaining.cpp b/source/RobotAPI/components/skills/SkillProviderExample/Chaining.cpp
index c40b511a6..1a4d32fe4 100644
--- a/source/RobotAPI/components/skills/SkillProviderExample/Chaining.cpp
+++ b/source/RobotAPI/components/skills/SkillProviderExample/Chaining.cpp
@@ -15,7 +15,7 @@ namespace armarx::skills::provider
         return SkillDescription{{"ChainingSkill"},
                                 "This skill calls the Timeout skill three times. The last "
                                 "execution is aborted due to a timeout of this skill.",
-                                {},
+                                nullptr,
                                 armarx::core::time::Duration::MilliSeconds(5000),
                                 nullptr};
     }
diff --git a/source/RobotAPI/components/skills/SkillProviderExample/Timeout.cpp b/source/RobotAPI/components/skills/SkillProviderExample/Timeout.cpp
index 270dae019..9c0266f8e 100644
--- a/source/RobotAPI/components/skills/SkillProviderExample/Timeout.cpp
+++ b/source/RobotAPI/components/skills/SkillProviderExample/Timeout.cpp
@@ -14,7 +14,7 @@ namespace armarx::skills::provider
     {
         return SkillDescription{{"Timeout"},
                                 "This fails with timeout reached",
-                                {},
+                                nullptr,
                                 armarx::core::time::Duration::MilliSeconds(2000),
                                 nullptr};
     }
diff --git a/source/RobotAPI/libraries/skills/core/SkillDescription.cpp b/source/RobotAPI/libraries/skills/core/SkillDescription.cpp
index ad2a62e6d..474b16398 100644
--- a/source/RobotAPI/libraries/skills/core/SkillDescription.cpp
+++ b/source/RobotAPI/libraries/skills/core/SkillDescription.cpp
@@ -23,6 +23,18 @@ namespace armarx
         {
         }
 
+        // LEGACY CTOR
+        SkillDescription::SkillDescription(const std::string& skillName,
+                                           const std::string& desc,
+                                           const std::vector<std::string>&,
+                                           const armarx::core::time::Duration& timeout,
+                                           const aron::data::DictPtr& data,
+                                           const aron::type::ObjectPtr& parametersType,
+                                           const aron::type::ObjectPtr& resultType) :
+            SkillDescription({skillName}, desc, data, timeout, parametersType, resultType)
+        {
+        }
+
         provider::dto::SkillDescription
         SkillDescription::toProviderIce() const
         {
diff --git a/source/RobotAPI/libraries/skills/core/SkillDescription.h b/source/RobotAPI/libraries/skills/core/SkillDescription.h
index 53f66dba2..509411adb 100644
--- a/source/RobotAPI/libraries/skills/core/SkillDescription.h
+++ b/source/RobotAPI/libraries/skills/core/SkillDescription.h
@@ -26,6 +26,17 @@ namespace armarx
                                  armarx::core::time::Duration::MilliSeconds(-1),
                              const aron::type::ObjectPtr& parametersType = nullptr,
                              const aron::type::ObjectPtr& resultType = nullptr);
+
+            // LEGACY
+            SkillDescription(const std::string& skillName,
+                             const std::string& desc,
+                             const std::vector<std::string>& ignore_me_i_am_not_used_anymore,
+                             const armarx::core::time::Duration& timeout =
+                                 armarx::core::time::Duration::MilliSeconds(-1),
+                             const aron::data::DictPtr& data = nullptr,
+                             const aron::type::ObjectPtr& parametersType = nullptr,
+                             const aron::type::ObjectPtr& resultType = nullptr);
+
             SkillDescription(const SkillDescription&) = default;
 
             SkillDescription& operator=(const SkillDescription&) = default;
-- 
GitLab