diff --git a/source/RobotAPI/libraries/armem_skills/CMakeLists.txt b/source/RobotAPI/libraries/armem_skills/CMakeLists.txt index 40e112f8b56f762ff8da6c57f1995b09bc5243bf..f0d624155b4f8e7abadd86f158c445ca4484d49e 100644 --- a/source/RobotAPI/libraries/armem_skills/CMakeLists.txt +++ b/source/RobotAPI/libraries/armem_skills/CMakeLists.txt @@ -13,6 +13,7 @@ armarx_add_library( RobotAPI::armem_server RobotAPI::skills aronjsonconverter + aroncommonconverter SOURCES ./aron_conversions.cpp diff --git a/source/RobotAPI/libraries/armem_skills/aron/Skill.xml b/source/RobotAPI/libraries/armem_skills/aron/Skill.xml index 84b9840794dbd1a618b51e5219732924949c1b8e..abd89ebd82a7d30d19c1945444d1dd8f5d650bfd 100644 --- a/source/RobotAPI/libraries/armem_skills/aron/Skill.xml +++ b/source/RobotAPI/libraries/armem_skills/aron/Skill.xml @@ -31,11 +31,11 @@ The memory should look like the following: </ObjectChild> <ObjectChild key='timeoutMs'> - <long /> + <int64 /> </ObjectChild> <ObjectChild key='acceptedType'> - <string /> <!-- TODO REPLACE! --> + <AnyObject shared_ptr="1" /> </ObjectChild> </Object> diff --git a/source/RobotAPI/libraries/armem_skills/server/segment/ExecutableSkillLibrarySegment.cpp b/source/RobotAPI/libraries/armem_skills/server/segment/ExecutableSkillLibrarySegment.cpp index df0f6da140cce0cca44a8a25c1b5d70fa96aa8a4..1a342fe0cde09bd59821bb93374025cd8866e782 100644 --- a/source/RobotAPI/libraries/armem_skills/server/segment/ExecutableSkillLibrarySegment.cpp +++ b/source/RobotAPI/libraries/armem_skills/server/segment/ExecutableSkillLibrarySegment.cpp @@ -4,6 +4,7 @@ #include <SimoxUtility/algorithm/string.h> #include <RobotAPI/libraries/aron/converter/json/NLohmannJSONConverter.h> +#include <RobotAPI/libraries/aron/converter/common/DatatypeConverter.h> #include <RobotAPI/libraries/armem_skills/aron/Skill.aron.generated.h> @@ -43,13 +44,19 @@ namespace armarx::skills::segment if (desc.acceptedType) { auto t = aron::type::Object::FromAronObjectDTO(desc.acceptedType); - skillDescription.acceptedType = aron::converter::AronNlohmannJSONConverter::ConvertToNlohmannJSON(t).dump(2); + + aron::converter::DatatypeConverter c; + aron::type::visit(c, t); + + skillDescription.acceptedType = aron::data::Dict::DynamicCastAndCheck(c.latest); } armem::Commit commit; auto& entityUpdate = commit.add(); entityUpdate.confidence = 1.0; entityUpdate.referencedTime = armem::Time::Now(); + entityUpdate.sentTime = armem::Time::Now(); + entityUpdate.arrivedTime = armem::Time::Now(); entityUpdate.instancesData = {skillDescription.toAron()}; entityUpdate.entityID = provId.withEntityName(skillDescription.skillName);