ice_conversions.cpp
Go to the documentation of this file.
1 #include "ice_conversions.h"
2 
5 
9 
10 namespace armarx::armem::base
11 {
12 
13  void
14  detail::toIceItem(data::detail::MemoryItem& ice, const armem::base::detail::MemoryItem& item)
15  {
16  toIce(ice.id, item.id());
17  }
18 
19  void
20  detail::fromIceItem(const data::detail::MemoryItem& ice, armem::base::detail::MemoryItem& item)
21  {
22  fromIce(ice.id, item.id());
23  }
24 
25  void
27  {
28  ice = data ? data->toAronDictDTO() : nullptr;
29  }
30 
31  void
33  {
34  if (ice)
35  {
37  }
38  else
39  {
40  data = nullptr;
41  };
42  }
43 
44  void
45  detail::toIce(aron::type::dto::GenericTypePtr& ice, const aron::type::ObjectPtr& bo)
46  {
47  ice = bo ? bo->toAronDTO() : nullptr;
48  }
49 
50  void
51  detail::fromIce(const aron::type::dto::GenericTypePtr& ice, aron::type::ObjectPtr& bo)
52  {
54  : nullptr;
55  }
56 
57 } // namespace armarx::armem::base
58 
59 namespace armarx::armem
60 {
61 
62  void
64  {
65  ice.confidence = metadata.confidence;
66  toIce(ice.arrivedTime, metadata.arrivedTime);
67  toIce(ice.referencedTime, metadata.referencedTime);
68  toIce(ice.sentTime, metadata.sentTime);
69  toIce(ice.lastAccessedTime, metadata.lastAccessedTime);
70  ice.accessed = metadata.numAccessed;
71  }
72 
73  void
75  {
76  metadata.confidence = ice.confidence;
77  fromIce(ice.arrivedTime, metadata.arrivedTime);
78  fromIce(ice.referencedTime, metadata.referencedTime);
79  fromIce(ice.sentTime, metadata.sentTime);
80  fromIce(ice.lastAccessedTime, metadata.lastAccessedTime);
81  metadata.numAccessed = ice.accessed;
82  }
83 
84  void
85  base::toIce(data::EntityInstanceMetadataPtr& ice, const EntityInstanceMetadata& metadata)
86  {
87  armarx::toIce<data::EntityInstanceMetadata>(ice, metadata);
88  }
89 
90  void
91  base::fromIce(const data::EntityInstanceMetadataPtr& ice, EntityInstanceMetadata& metadata)
92  {
93  armarx::fromIce<data::EntityInstanceMetadata>(ice, metadata);
94  }
95 
96 } // namespace armarx::armem
armarx::armem::base::detail::fromIceItem
void fromIceItem(const data::detail::MemoryItem &ice, MemoryItem &item)
Definition: ice_conversions.cpp:20
armarx::armem::base
Definition: CoreSegmentBase.h:15
armarx::armem::base::EntityInstanceMetadata::numAccessed
unsigned long numAccessed
A counter how often the instance has been accessed.
Definition: EntityInstanceBase.h:60
armarx::aron::type::Variant::FromAronDTO
static VariantPtr FromAronDTO(const type::dto::GenericType &, const Path &=Path())
create a variant object from an dto object
Definition: Variant.cpp:40
armarx::armem::base::detail::MemoryItem
Base class of memory classes on different levels.
Definition: MemoryItem.h:13
armarx::armem::wm::EntityInstanceMetadata
base::EntityInstanceMetadata EntityInstanceMetadata
Client-side working memory entity instance metadata.
Definition: memory_definitions.h:18
armarx::armem
Definition: LegacyRobotStateMemoryAdapter.cpp:32
armarx::armem::toIce
void toIce(data::MemoryID &ice, const MemoryID &id)
Definition: ice_conversions.cpp:20
armarx::armem::base::detail::toIceItem
void toIceItem(data::detail::MemoryItem &ice, const MemoryItem &item)
Definition: ice_conversions.cpp:14
ice_conversions.h
Dict.h
armarx::aron::data::Dict::FromAronDictDTO
static PointerType FromAronDictDTO(const data::dto::DictPtr &aron)
Definition: Dict.cpp:130
IceInternal::Handle
Definition: forward_declarations.h:8
Object.h
armarx::armem::base::toIce
void toIce(data::EntityInstanceMetadata &ice, const EntityInstanceMetadata &metadata)
Definition: ice_conversions.cpp:63
armarx::armem::base::fromIce
void fromIce(const data::EntityInstanceMetadata &ice, EntityInstanceMetadata &metadata)
Definition: ice_conversions.cpp:74
armarx::armem::base::EntityInstanceMetadata::sentTime
Time sentTime
Time when this value was sent to the memory.
Definition: EntityInstanceBase.h:49
armarx::armem::base::detail::fromIce
void fromIce(const aron::data::dto::DictPtr &ice, aron::data::DictPtr &bo)
Definition: ice_conversions.cpp:32
data
uint8_t data[1]
Definition: EtherCATFrame.h:68
ice_conversions.h
armarx::armem::base::detail::MemoryItem::id
MemoryID & id()
Definition: MemoryItem.h:25
armarx::armem::fromIce
void fromIce(const data::MemoryID &ice, MemoryID &id)
Definition: ice_conversions.cpp:31
armarx::armem::base::EntityInstanceMetadata::arrivedTime
Time arrivedTime
Time when this value has arrived at the memory.
Definition: EntityInstanceBase.h:51
armarx::armem::base::detail::toIce
void toIce(aron::data::dto::DictPtr &ice, const aron::data::DictPtr &bo)
Definition: ice_conversions.cpp:26
armarx::armem::base::EntityInstanceMetadata::referencedTime
Time referencedTime
Time this instance refers to.
Definition: EntityInstanceBase.h:46
armarx::aron::data::DictPtr
std::shared_ptr< Dict > DictPtr
Definition: Dict.h:41
armarx::aron::type::detail::SpecializedVariantBase< type::dto::AronObject, Object >::DynamicCastAndCheck
static std::shared_ptr< Object > DynamicCastAndCheck(const VariantPtr &n)
Definition: SpecializedVariant.h:119
armarx::armem::base::EntityInstanceMetadata
Metadata of an entity instance.
Definition: EntityInstanceBase.h:34
ice_conversions_templates.h
armarx::aron::type::ObjectPtr
std::shared_ptr< Object > ObjectPtr
Definition: Object.h:36
armarx::armem::base::EntityInstanceMetadata::lastAccessedTime
Time lastAccessedTime
An optional value indicating the time of last access.
Definition: EntityInstanceBase.h:57
armarx::armem::base::EntityInstanceMetadata::confidence
float confidence
An optional confidence, may be used for things like decay.
Definition: EntityInstanceBase.h:54
armarx::aron::bo
const std::optional< BoT > & bo
Definition: aron_conversions.h:174