25 #include <IceUtil/UUID.h>
28 #include <ArmarXCore/interface/core/Log.h>
34 #define COMMONSTORAGE_NAME "CommonStorage"
42 priorMemoryName = getProperty<std::string>(
"PriorMemoryName").getValue();
79 ARMARX_INFO <<
"Starting MemoryX::AbstractWorkingMemory";
112 getProperty<std::string>(
"SnapshotToLoad").getValue(),
113 AbstractWorkingMemoryInterfacePrx::uncheckedCast(
getProxy()));
117 AbstractMemorySegmentPrx
119 const AbstractMemorySegmentPtr& segment,
120 const ::Ice::Current&
c)
122 AbstractWorkingMemorySegmentPtr wmSegment =
123 AbstractWorkingMemorySegmentPtr::dynamicCast(segment);
133 ARMARX_INFO <<
"Added AbstractWorkingMemorySegment: " << segmentName;
138 WorkingMemoryUpdaterBasePrx
140 const WorkingMemoryUpdaterBasePtr& updater,
141 const ::Ice::Current&)
145 updaterImpl->setWorkingMemory(
this);
149 std::pair<std::string, MemoryUpdaterEntry> updaterEntry;
150 updaterEntry.first = updaterName;
151 updaterEntry.second.proxy =
152 WorkingMemoryUpdaterBasePrx::uncheckedCast(updaterImpl->getProxy());
153 updaterEntry.second.pointer = updaterImpl;
158 ARMARX_INFO <<
"Registered AbstractWorkingMemoryUpdater: " << updaterName;
160 return updaterEntry.second.proxy;
163 WorkingMemoryUpdaterBasePrx
169 MemoryUpdaterMap::iterator iter =
updaters.find(updaterName);
173 throw InvalidEntityException();
176 return iter->second.proxy;
184 MemoryUpdaterMap::iterator iter =
updaters.find(updaterName);
189 WorkingMemoryUpdaterPtr::dynamicCast(iter->second.pointer);
197 ARMARX_INFO <<
"Unregistered AbstractWorkingMemoryUpdater: " << updaterName;
206 for (MemorySegmentMap::iterator it =
segments.begin(); it !=
segments.end(); ++it)
208 it->second.pointer->clear();
217 std::cout <<
"Memory contains " <<
segments.size() <<
" segments" << std::endl;
219 for (MemorySegmentMap::const_iterator it =
segments.begin(); it !=
segments.end(); ++it)
221 std::cout <<
"Memory segment " << it->first <<
" contains "
222 << it->second.pointer->size() <<
" entities" << std::endl;
223 it->second.pointer->print();