From 66a7215a4bf9f35533703593ed84a50d2f97b7fe Mon Sep 17 00:00:00 2001 From: Rainer Kartmann <rainer.kartmann@kit.edu> Date: Tue, 21 Nov 2023 16:11:18 +0100 Subject: [PATCH] Include status in conversions --- .../skills/core/SkillStatusUpdate.cpp | 35 ++++++++++++++----- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/source/RobotAPI/libraries/skills/core/SkillStatusUpdate.cpp b/source/RobotAPI/libraries/skills/core/SkillStatusUpdate.cpp index 986aab1bc..599126041 100644 --- a/source/RobotAPI/libraries/skills/core/SkillStatusUpdate.cpp +++ b/source/RobotAPI/libraries/skills/core/SkillStatusUpdate.cpp @@ -315,6 +315,16 @@ namespace armarx return ret; } + template <class BoT, class DtoT> + static void + setResultFromIce(BoT& bo, const DtoT& dto) + { + if (dto.result) + { + bo.result = aron::make_dict(dto.result); + } + } + TerminatedSkillStatusUpdate TerminatedSkillStatusUpdate::FromIce(const manager::dto::SkillStatusUpdate& update) { @@ -323,6 +333,7 @@ namespace armarx .parameters = armarx::aron::data::Dict::FromAronDictDTO(update.parameters), .callbackInterface = update.callbackInterface}}; skills::fromIce(update.status, ret.status); + setResultFromIce(ret, update); return ret; } @@ -335,17 +346,20 @@ namespace armarx .parameters = armarx::aron::data::Dict::FromAronDictDTO(update.parameters), .callbackInterface = update.callbackInterface}}; skills::fromIce(update.status, ret.status); + setResultFromIce(ret, update); return ret; } SkillStatusUpdate SkillStatusUpdate::FromIce(const manager::dto::SkillStatusUpdate& update) { - SkillStatusUpdate ret{ - {.executionId = skills::SkillExecutionID::FromIce(update.executionId), - .parameters = armarx::aron::data::Dict::FromAronDictDTO(update.parameters), - .callbackInterface = update.callbackInterface}}; + SkillStatusUpdate ret{{ + .executionId = skills::SkillExecutionID::FromIce(update.executionId), + .parameters = armarx::aron::data::Dict::FromAronDictDTO(update.parameters), + .callbackInterface = update.callbackInterface, + }}; skills::fromIce(update.status, ret.status); + setResultFromIce(ret, update); return ret; } @@ -353,11 +367,13 @@ namespace armarx SkillStatusUpdate::FromIce(const provider::dto::SkillStatusUpdate& update, const std::optional<skills::ProviderID>& providerId) { - SkillStatusUpdate ret{ - {.executionId = skills::SkillExecutionID::FromIce(update.executionId, providerId), - .parameters = armarx::aron::data::Dict::FromAronDictDTO(update.parameters), - .callbackInterface = update.callbackInterface}}; + SkillStatusUpdate ret{{ + .executionId = skills::SkillExecutionID::FromIce(update.executionId, providerId), + .parameters = armarx::aron::data::Dict::FromAronDictDTO(update.parameters), + .callbackInterface = update.callbackInterface, + }}; skills::fromIce(update.status, ret.status); + setResultFromIce(ret, update); return ret; } @@ -369,6 +385,7 @@ namespace armarx .parameters = armarx::aron::data::Dict::FromAronDictDTO(update.parameters), .callbackInterface = update.callbackInterface}}; skills::fromIce(update.status, ret.status); + setResultFromIce(ret, update); return ret; } @@ -382,7 +399,9 @@ namespace armarx .parameters = armarx::aron::data::Dict::FromAronDictDTO(update.parameters), .callbackInterface = update.callbackInterface}}; skills::fromIce(update.status, ret.status); + setResultFromIce(ret, update); return ret; } + } // namespace skills } // namespace armarx -- GitLab