27 #include <ArmarXCore/interface/observers/ObserverInterface.h>
28 #include <ArmarXCore/interface/observers/VariantBase.h>
34 #include <MemoryX/interface/components/PriorKnowledgeInterface.h>
35 #include <MemoryX/interface/memorytypes/MemorySegments.h>
36 #include <MemoryX/interface/observers/ObjectMemoryObserverInterface.h>
37 #include <MemoryX/interface/workingmemory/AbstractWorkingMemoryInterface.h>
57 defineOptionalProperty<std::string>(
"WorkingMemoryListenerTopic",
58 "WorkingMemoryUpdates",
59 "Topic for working memory updates");
60 defineOptionalProperty<std::string>(
61 "WorkingMemoryProxy",
"WorkingMemory",
"Proxy of working memory");
62 defineOptionalProperty<std::string>(
63 "PriorKnowledgeProxy",
"PriorKnowledge",
"Proxy of PriorKnowledge");
82 virtual public ObjectMemoryObserverInterface
90 armarx::ChannelRefBasePtr
92 const IceUtil::Optional<Ice::Int>& priority,
93 const ::Ice::Current&
c = Ice::emptyCurrent)
override;
94 armarx::ChannelRefBasePtr
97 const IceUtil::Optional<Ice::Int>& priority,
98 const ::Ice::Current&
c = Ice::emptyCurrent)
override;
100 const ::Ice::Current&
c = Ice::emptyCurrent)
override;
102 ChannelRefBaseSequence
104 const ::Ice::Current&
c = Ice::emptyCurrent)
override;
105 ChannelRefBaseSequence
107 const ::Ice::Current&
c = Ice::emptyCurrent)
override;
108 armarx::ChannelRefBasePtr
110 const Ice::Current&
c = Ice::emptyCurrent)
override;
111 armarx::ChannelRefBasePtr
113 const Ice::Current&
c = Ice::emptyCurrent)
override;
115 armarx::ChannelRefBasePtr
117 const ::Ice::Current&
c = ::Ice::Current())
override;
119 armarx::ChannelRefBasePtr
addFrame(
const std::string& frameName,
120 const ::Ice::Current&
c = Ice::emptyCurrent);
121 void removeFrame(
const armarx::ChannelRefBasePtr& frameChannel,
122 const ::Ice::Current&
c = Ice::emptyCurrent);
126 const EntityBasePtr& entity,
127 const ::Ice::Current&
c = Ice::emptyCurrent)
override;
129 const EntityBasePtr& entityOld,
130 const EntityBasePtr& entityNew,
131 const ::Ice::Current&
c = Ice::emptyCurrent)
override;
133 const EntityBasePtr& entity,
134 const ::Ice::Current&
c = Ice::emptyCurrent)
override;
136 const ::Ice::Current&
c = Ice::emptyCurrent)
override;
144 const ::Ice::Current&
c = Ice::emptyCurrent)
override;
150 return "ObjectMemoryObserver";
169 std::vector<armarx::ChannelRefPtr>
170 getObjectClassQueries(
const std::string& objectClassName);
175 getInstanceChannelName(
const EntityBasePtr& instance,
176 const ::Ice::Current&
c = Ice::emptyCurrent)
const override;
179 AbstractWorkingMemoryInterfacePrx proxyWorkingMemory;
180 ObjectInstanceMemorySegmentBasePrx objectInstancesSegment;
181 ObjectClassMemorySegmentBasePrx objectClassesSegment;
182 PriorKnowledgeInterfacePrx priorKnowledge;
183 PersistentObjectClassSegmentBasePrx priorObjectClassesSegment;
186 unsigned int uniqueId;
192 std::unique_lock lock(idMutex);