From 35542a476893ec6929678d26270f21a47c540cfa Mon Sep 17 00:00:00 2001 From: Fabian Peller-Konrad <fabian.peller-konrad@kit.edu> Date: Wed, 19 Jan 2022 19:34:04 +0100 Subject: [PATCH] removed useless parameterization struct and fixed build issues --- .../SkillManagerMonitorWidgetController.cpp | 2 +- .../interface/skills/SkillManagerInterface.ice | 15 ++------------- .../skills/SkillProviderCallbackInterface.ice | 2 -- .../interface/skills/SkillProviderInterface.ice | 7 +++---- .../server/segment/SkillEventSegment.cpp | 16 ++++++++-------- .../segment/SkillExecutionRequestSegment.cpp | 4 ++-- source/RobotAPI/libraries/skills/CMakeLists.txt | 2 -- .../manager/SkillManagerComponentPlugin.cpp | 2 +- .../provider/SkillProviderComponentPlugin.cpp | 10 +++++----- .../skills/provider/SkillStatusUpdate.cpp | 2 +- .../skills/provider/SkillStatusUpdate.h | 7 +++---- .../detail/SkillImplementationWrapper.cpp | 12 ++++++------ 12 files changed, 32 insertions(+), 49 deletions(-) diff --git a/source/RobotAPI/gui-plugins/SkillManagerPlugin/SkillManagerMonitorWidgetController.cpp b/source/RobotAPI/gui-plugins/SkillManagerPlugin/SkillManagerMonitorWidgetController.cpp index 212869ba6..720304e62 100644 --- a/source/RobotAPI/gui-plugins/SkillManagerPlugin/SkillManagerMonitorWidgetController.cpp +++ b/source/RobotAPI/gui-plugins/SkillManagerPlugin/SkillManagerMonitorWidgetController.cpp @@ -162,7 +162,7 @@ namespace armarx aron::type::visit(v, aron_accepted_type); auto aron_args = aron::data::Dict::DynamicCastAndCheck(v.createdAron); - exInfo.parameterization.params = aron_args->toAronDictPtr(); + exInfo.params = aron_args->toAronDictPtr(); } ARMARX_INFO << "Executing skill from GUI: " << selectedSkill.providerName << "/" << selectedSkill.skillName; diff --git a/source/RobotAPI/interface/skills/SkillManagerInterface.ice b/source/RobotAPI/interface/skills/SkillManagerInterface.ice index 579832821..5233947af 100644 --- a/source/RobotAPI/interface/skills/SkillManagerInterface.ice +++ b/source/RobotAPI/interface/skills/SkillManagerInterface.ice @@ -22,24 +22,13 @@ #pragma once +#include <RobotAPI/interface/skills/SkillProviderCallbackInterface.ice> #include <RobotAPI/interface/skills/SkillProviderInterface.ice> module armarx { module skills { - module callback - { - module dti - { - interface SkillProviderCallbackInterface - { - // used for callbacks from providers to update their skill execution status - void updateStatusForSkill(provider::dto::SkillStatusUpdate statusUpdate); - } - } - } - module manager { module dto @@ -49,7 +38,7 @@ module armarx { string providerName; string skillName; - provider::dto::SkillParameterization parameterization; + aron::data::dto::Dict params; }; struct ProviderInfo diff --git a/source/RobotAPI/interface/skills/SkillProviderCallbackInterface.ice b/source/RobotAPI/interface/skills/SkillProviderCallbackInterface.ice index c525d76d1..b41709be3 100644 --- a/source/RobotAPI/interface/skills/SkillProviderCallbackInterface.ice +++ b/source/RobotAPI/interface/skills/SkillProviderCallbackInterface.ice @@ -22,10 +22,8 @@ #pragma once -#include <RobotAPI/interface/aron.ice> #include <RobotAPI/interface/skills/SkillProviderInterface.ice> - module armarx { module skills diff --git a/source/RobotAPI/interface/skills/SkillProviderInterface.ice b/source/RobotAPI/interface/skills/SkillProviderInterface.ice index a3e1bccde..ffd6f7281 100644 --- a/source/RobotAPI/interface/skills/SkillProviderInterface.ice +++ b/source/RobotAPI/interface/skills/SkillProviderInterface.ice @@ -98,8 +98,7 @@ module armarx }; dictionary<string, SkillStatusUpdate> SkillStatusUpdateMap; - - }; + } module dti { @@ -109,7 +108,7 @@ module armarx dto::SkillDescriptionMap getSkills(); dto::SkillStatusUpdate getSkillExecutionStatus(string name); void executeSkill(dto::SkillExecutionInfo executionInfo); - void abortSkill(string skill); + dto::SkillStatusUpdate abortSkill(string skill); }; dictionary<string, SkillProviderInterface*> SkillProviderMap; @@ -118,4 +117,4 @@ module armarx } } -#include <RobotAPI/interface/skills/SkillProviderCallbackInterface.ice> +//#include <RobotAPI/interface/skills/SkillProviderCallbackInterface.ice> diff --git a/source/RobotAPI/libraries/armem_skills/server/segment/SkillEventSegment.cpp b/source/RobotAPI/libraries/armem_skills/server/segment/SkillEventSegment.cpp index e0e833c35..43e314fc8 100644 --- a/source/RobotAPI/libraries/armem_skills/server/segment/SkillEventSegment.cpp +++ b/source/RobotAPI/libraries/armem_skills/server/segment/SkillEventSegment.cpp @@ -28,13 +28,13 @@ namespace armarx::skills::segment void SkillEventCoreSegment::addSkillUpdateEvent(const skills::provider::dto::SkillStatusUpdate& update) { // add update for skill to memory - static std::map<armarx::skills::provider::dto::ExecutionStatus, std::string> ExecutionStatus2String = { - {armarx::skills::provider::dto::ExecutionStatus::Idle, "Idle"}, - {armarx::skills::provider::dto::ExecutionStatus::Scheduled, "Scheduled"}, - {armarx::skills::provider::dto::ExecutionStatus::Running, "Running"}, - {armarx::skills::provider::dto::ExecutionStatus::Aborted, "Aborted"}, - {armarx::skills::provider::dto::ExecutionStatus::Failed, "Failed"}, - {armarx::skills::provider::dto::ExecutionStatus::Succeeded, "Succeeded"} + static std::map<armarx::skills::provider::dto::Execution::Status, std::string> ExecutionStatus2String = { + {armarx::skills::provider::dto::Execution::Status::Idle, "Idle"}, + {armarx::skills::provider::dto::Execution::Status::Scheduled, "Scheduled"}, + {armarx::skills::provider::dto::Execution::Status::Running, "Running"}, + {armarx::skills::provider::dto::Execution::Status::Aborted, "Aborted"}, + {armarx::skills::provider::dto::Execution::Status::Failed, "Failed"}, + {armarx::skills::provider::dto::Execution::Status::Succeeded, "Succeeded"} }; // create commit about new update @@ -44,7 +44,7 @@ namespace armarx::skills::segment event.status = ExecutionStatus2String.at(update.status); aron::data::DictPtr aron_params = nullptr; - if (update.usedParameterization.params) aron_params = std::make_shared<aron::data::Dict>(update.usedParameterization.params); + if (update.usedParams) aron_params = std::make_shared<aron::data::Dict>(update.usedParams); aron::data::DictPtr aron_data = nullptr; if (update.data) aron_data = std::make_shared<aron::data::Dict>(update.data); diff --git a/source/RobotAPI/libraries/armem_skills/server/segment/SkillExecutionRequestSegment.cpp b/source/RobotAPI/libraries/armem_skills/server/segment/SkillExecutionRequestSegment.cpp index 1f6e8c377..dce0a7f05 100644 --- a/source/RobotAPI/libraries/armem_skills/server/segment/SkillExecutionRequestSegment.cpp +++ b/source/RobotAPI/libraries/armem_skills/server/segment/SkillExecutionRequestSegment.cpp @@ -40,7 +40,7 @@ namespace armarx::skills::segment skills::manager::dto::SkillExecutionInfo info; info.providerName = request.providerName; info.skillName = request.skillName; - info.parameterization.params = params->toAronDictPtr(); + info.params = params->toAronDictPtr(); return info; } @@ -59,7 +59,7 @@ namespace armarx::skills::segment auto aron = request.toAron(); aron::data::DictPtr aron_params = nullptr; - if (info.parameterization.params) aron_params = std::make_shared<aron::data::Dict>(info.parameterization.params); + if (info.params) aron_params = std::make_shared<aron::data::Dict>(info.params); aron->addElement("params", aron_params); // todo add as any type diff --git a/source/RobotAPI/libraries/skills/CMakeLists.txt b/source/RobotAPI/libraries/skills/CMakeLists.txt index 21406094e..416121d84 100644 --- a/source/RobotAPI/libraries/skills/CMakeLists.txt +++ b/source/RobotAPI/libraries/skills/CMakeLists.txt @@ -17,7 +17,6 @@ armarx_add_library( ./provider/Skill.cpp ./provider/SpecializedSkill.cpp ./provider/SkillDescription.cpp - ./provider/SkillParameterization.cpp ./provider/SkillStatusUpdate.cpp ./provider/helper/LambdaSkillImplementation.cpp ./provider/detail/SkillImplementationWrapper.cpp @@ -27,7 +26,6 @@ armarx_add_library( ./provider/Skill.h ./provider/SpecializedSkill.h ./provider/SkillDescription.h - ./provider/SkillParameterization.h ./provider/SkillStatusUpdate.h ./provider/helper/LambdaSkillImplementation.h ./provider/detail/SkillImplementationWrapper.h diff --git a/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPlugin.cpp b/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPlugin.cpp index 038ed5999..514f11ad7 100644 --- a/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPlugin.cpp +++ b/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPlugin.cpp @@ -56,7 +56,7 @@ namespace armarx skills::provider::dto::SkillExecutionInfo exInfo; exInfo.skillName = info.skillName; exInfo.callbackInterface = myPrx; - exInfo.parameterization = info.parameterization; + exInfo.params = info.params; it->second->executeSkill(exInfo); } else diff --git a/source/RobotAPI/libraries/skills/provider/SkillProviderComponentPlugin.cpp b/source/RobotAPI/libraries/skills/provider/SkillProviderComponentPlugin.cpp index 321273b10..30bbcc86a 100644 --- a/source/RobotAPI/libraries/skills/provider/SkillProviderComponentPlugin.cpp +++ b/source/RobotAPI/libraries/skills/provider/SkillProviderComponentPlugin.cpp @@ -120,9 +120,9 @@ namespace armarx impl.statusInfo.statusUpdate.usedCallbackInterface = info.callbackInterface; impl.statusInfo.statusUpdate.skillName = info.skillName; impl.statusInfo.statusUpdate.providerName = getName(); - if (info.parameterization.params) + if (info.params) { - impl.statusInfo.statusUpdate.usedParameterization.params = std::make_shared<aron::data::Dict>(info.parameterization.params); + impl.statusInfo.statusUpdate.usedParameterization = std::make_shared<aron::data::Dict>(info.params); } // make sure thread is started @@ -160,10 +160,10 @@ namespace armarx impl.stoppedCheck.join(); } - if (statusUpdate.status != skills::provider::dto::ExecutionStatus::Succeeded && - statusUpdate.status != skills::provider::dto::ExecutionStatus::Failed) + if (statusUpdate.status != skills::provider::dto::Execution::Status::Succeeded && + statusUpdate.status != skills::provider::dto::Execution::Status::Failed) { - impl.statusInfo.statusUpdate.status = skills::provider::dto::ExecutionStatus::Aborted; + impl.statusInfo.statusUpdate.status = skills::provider::dto::Execution::Status::Aborted; } return statusUpdate.toIce(); diff --git a/source/RobotAPI/libraries/skills/provider/SkillStatusUpdate.cpp b/source/RobotAPI/libraries/skills/provider/SkillStatusUpdate.cpp index c55eaf973..f19d037dc 100644 --- a/source/RobotAPI/libraries/skills/provider/SkillStatusUpdate.cpp +++ b/source/RobotAPI/libraries/skills/provider/SkillStatusUpdate.cpp @@ -15,7 +15,7 @@ namespace armarx } ret.status = status; ret.usedCallbackInterface = usedCallbackInterface; - ret.usedParameterization = usedParameterization.toIce(); + ret.usedParams = usedParameterization->toAronDictPtr(); return ret; } } diff --git a/source/RobotAPI/libraries/skills/provider/SkillStatusUpdate.h b/source/RobotAPI/libraries/skills/provider/SkillStatusUpdate.h index 439adf115..5385c6f0d 100644 --- a/source/RobotAPI/libraries/skills/provider/SkillStatusUpdate.h +++ b/source/RobotAPI/libraries/skills/provider/SkillStatusUpdate.h @@ -3,8 +3,7 @@ #include <string> #include <vector> -#include "SkillParameterization.h" - +#include <RobotAPI/libraries/aron/core/data/variant/container/Dict.h> #include <RobotAPI/interface/skills/SkillProviderInterface.h> namespace armarx @@ -15,9 +14,9 @@ namespace armarx { std::string providerName; std::string skillName; - SkillParameterization usedParameterization; + aron::data::DictPtr usedParameterization; callback::dti::SkillProviderCallbackInterfacePrx usedCallbackInterface; - provider::dto::ExecutionStatus status; + provider::dto::Execution::Status status; aron::data::DictPtr data; provider::dto::SkillStatusUpdate toIce() const; diff --git a/source/RobotAPI/libraries/skills/provider/detail/SkillImplementationWrapper.cpp b/source/RobotAPI/libraries/skills/provider/detail/SkillImplementationWrapper.cpp index 09ecd676c..4160489c0 100644 --- a/source/RobotAPI/libraries/skills/provider/detail/SkillImplementationWrapper.cpp +++ b/source/RobotAPI/libraries/skills/provider/detail/SkillImplementationWrapper.cpp @@ -35,7 +35,7 @@ namespace armarx std::lock_guard l(statusInfo.skillStatusMutex); statusInfo.started = false; statusInfo.stopped = false; - statusInfo.statusUpdate.status = skills::provider::dto::ExecutionStatus::Idle; + statusInfo.statusUpdate.status = skills::provider::dto::Execution::Status::Idle; statusInfo.statusUpdate.data = nullptr; skillStarted = IceUtil::Time::now().toMilliSeconds(); skill->reset(); @@ -47,7 +47,7 @@ namespace armarx statusInfo.started = true; // get params and setup variables - auto& aron_params = statusInfo.statusUpdate.usedParameterization.params; + auto& aron_params = statusInfo.statusUpdate.usedParameterization; if (not(aron_params) && description.acceptedType) { throw armarx::LocalException("The Skill '" + description.skillName + "' requires a type but no params are NULL."); @@ -58,7 +58,7 @@ namespace armarx // set scheduled { std::lock_guard l(statusInfo.skillStatusMutex); - statusInfo.statusUpdate.status = skills::provider::dto::ExecutionStatus::Scheduled; + statusInfo.statusUpdate.status = skills::provider::dto::Execution::Status::Scheduled; // do callback updateStatusCallback(); @@ -68,7 +68,7 @@ namespace armarx // execute { std::lock_guard l(statusInfo.skillStatusMutex); - statusInfo.statusUpdate.status = skills::provider::dto::ExecutionStatus::Running; + statusInfo.statusUpdate.status = skills::provider::dto::Execution::Status::Running; updateStatusCallback(); } @@ -90,7 +90,7 @@ namespace armarx { std::lock_guard l(statusInfo.skillStatusMutex); - statusInfo.statusUpdate.status = skills::provider::dto::ExecutionStatus::Succeeded; + statusInfo.statusUpdate.status = skills::provider::dto::Execution::Status::Succeeded; updateStatusCallback(); } } @@ -99,7 +99,7 @@ namespace armarx ARMARX_WARNING_S << "Skill " << description.skillName << " died with exception:\n" << ex.what(); std::lock_guard l(statusInfo.skillStatusMutex); - statusInfo.statusUpdate.status = skills::provider::dto::ExecutionStatus::Failed; + statusInfo.statusUpdate.status = skills::provider::dto::Execution::Status::Failed; updateStatusCallback(); } -- GitLab