diff --git a/source/RobotAPI/libraries/armem/CMakeLists.txt b/source/RobotAPI/libraries/armem/CMakeLists.txt index 84bb291a72f5d9b86ed932b1e1422b5a89252ceb..0d1c51febc1fadc67eb793363e9a0fc172975716 100644 --- a/source/RobotAPI/libraries/armem/CMakeLists.txt +++ b/source/RobotAPI/libraries/armem/CMakeLists.txt @@ -20,6 +20,7 @@ set(LIB_FILES core/SuccessHeader.cpp core/Time.cpp core/ice_conversions.cpp + core/aron_conversions.cpp core/CoreSegment.cpp core/Entity.cpp @@ -77,6 +78,7 @@ set(LIB_HEADERS core/MemoryID.h core/SuccessHeader.h core/Time.h + core/aron_conversions.h core/ice_conversions.h core/ice_conversions_templates.h diff --git a/source/RobotAPI/libraries/armem/core/aron/MemoryID.xml b/source/RobotAPI/libraries/armem/core/aron/MemoryID.xml index 11d0fee395edca2c597dc1ea9de53dfbd7f9eae9..2cfc7d52c05fb53aec1f8b51a711b80c34478a31 100644 --- a/source/RobotAPI/libraries/armem/core/aron/MemoryID.xml +++ b/source/RobotAPI/libraries/armem/core/aron/MemoryID.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <AronTypeDefinition> <GenerateTypes> - <Object name='armarx::armem::aron::MemoryID'> + <Object name='armarx::armem::arondto::MemoryID'> <ObjectChild key='memoryName'> <string /> </ObjectChild> @@ -15,7 +15,7 @@ <string /> </ObjectChild> <ObjectChild key='timestamp'> - <long /> + <Time /> </ObjectChild> <ObjectChild key='instanceIndex'> <int /> diff --git a/source/RobotAPI/libraries/armem/core/aron_conversions.cpp b/source/RobotAPI/libraries/armem/core/aron_conversions.cpp new file mode 100644 index 0000000000000000000000000000000000000000..f5e6d3e0d10cb7b3f1ed51bcc8f665cb48ec3cbf --- /dev/null +++ b/source/RobotAPI/libraries/armem/core/aron_conversions.cpp @@ -0,0 +1,22 @@ +#include "aron_conversions.h" + + +void armarx::armem::fromAron(const arondto::MemoryID& dto, MemoryID& bo) +{ + bo.memoryName = dto.memoryName; + bo.coreSegmentName = dto.coreSegmentName; + bo.providerSegmentName = dto.providerSegmentName; + bo.entityName = dto.entityName; + bo.timestamp = IceUtil::Time::microSeconds(dto.timestamp); + bo.instanceIndex = dto.instanceIndex; +} + +void armarx::armem::toAron(arondto::MemoryID& dto, const MemoryID& bo) +{ + dto.memoryName = bo.memoryName; + dto.coreSegmentName = bo.coreSegmentName; + dto.providerSegmentName = bo.providerSegmentName; + dto.entityName = bo.entityName; + dto.timestamp = bo.timestamp.toMicroSeconds(); + dto.instanceIndex = bo.instanceIndex; +} diff --git a/source/RobotAPI/libraries/armem/core/aron_conversions.h b/source/RobotAPI/libraries/armem/core/aron_conversions.h new file mode 100644 index 0000000000000000000000000000000000000000..5d105fd9761f3ff1d8eaa58fabf4aa257719478b --- /dev/null +++ b/source/RobotAPI/libraries/armem/core/aron_conversions.h @@ -0,0 +1,11 @@ +#pragma once + +#include <RobotAPI/libraries/armem/core/MemoryID.h> +#include <RobotAPI/libraries/armem/aron/MemoryID.aron.generated.h> + + +namespace armarx::armem +{ + void fromAron(const arondto::MemoryID& dto, MemoryID& bo); + void toAron(arondto::MemoryID& dto, const MemoryID& bo); +}