28 #include <ArmarXCore/interface/core/Log.h>
40 AbstractMemorySegmentPrx
42 const AbstractMemorySegmentPtr& segment,
43 const ::Ice::Current&
c)
47 MemorySegmentMap::const_iterator it =
segments.find(segmentName);
51 throw SegmentAlreadyExistsException();
55 segment->setSegmentName(segmentName);
56 segment->setParentMemory(
this);
58 auto id = segment->getIceId();
60 AbstractMemorySegmentPrx segmentProxy =
61 AbstractMemorySegmentPrx::uncheckedCast(
getObjectAdapter()->add(segment,
id));
65 segmentEntry.
proxy = segmentProxy;
68 segments[segmentName] = segmentEntry;
80 AbstractMemorySegmentPrx
86 MemorySegmentMap::const_iterator iter =
segments.find(segmentName);
90 ARMARX_ERROR_S <<
"Could not find segment with name " << segmentName << std::endl;
91 throw InvalidEntityException();
94 return iter->second.proxy;
102 MemorySegmentMap::iterator iter =
segments.find(segmentName);
106 AbstractMemorySegmentPrx proxy = iter->second.proxy;
124 for (MemorySegmentMap::const_iterator it =
segments.begin(); it !=
segments.end(); ++it)
126 result.push_back(it->first);
132 AbstractMemorySegmentPtr
138 MemorySegmentMap::iterator iter =
segments.find(segmentName);
142 ARMARX_ERROR_S <<
"Could not find segment with name " << segmentName << std::endl;
143 throw InvalidEntityException();
146 return iter->second.pointer;
152 NameList
names = getSegmentNames();
154 for (
auto name :
names)
156 EntityMemorySegmentInterfacePtr segment =
157 memoryx::EntityMemorySegmentInterfacePtr::dynamicCast(getSegmentPtr(name));
164 auto entity = segment->getEntityById(entityId);
178 NameList
names = getSegmentNames();
180 for (
auto name :
names)
182 EntityMemorySegmentInterfacePtr segment =
183 memoryx::EntityMemorySegmentInterfacePtr::dynamicCast(getSegmentPtr(name));
190 auto entity = segment->getEntityRefById(entityId);