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>
58 "WorkingMemoryUpdates",
59 "Topic for working memory updates");
61 "WorkingMemoryProxy",
"WorkingMemory",
"Proxy of working memory");
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);
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);
std::string getConfigIdentifier()
Retrieve config identifier for this component as set in constructor.
ObserverPropertyDefinitions(std::string prefix)
Baseclass for all ArmarX Observers.
std::string prefix
Prefix of the properties such as namespace, domain, component name, etc.
PropertyDefinition< PropertyType > & defineOptionalProperty(const std::string &name, PropertyType defaultValue, const std::string &description="", PropertyDefinitionBase::PropertyConstness constness=PropertyDefinitionBase::eConstant)
ObjectMemoryObserverPropertyDefinitions(std::string prefix)
VisionX ObjectMemoryObserver.
armarx::ChannelRefBasePtr getObjectInstanceById(const std::string &, const ::Ice::Current &c=::Ice::Current()) override
armarx::ChannelRefBasePtr addFrame(const std::string &frameName, const ::Ice::Current &c=Ice::emptyCurrent)
void onConnectObserver() override
Framework hook.
void reportEntityRemoved(const std::string &segmentName, const EntityBasePtr &entity, const ::Ice::Current &c=Ice::emptyCurrent) override
void reportEntityUpdated(const std::string &segmentName, const EntityBasePtr &entityOld, const EntityBasePtr &entityNew, const ::Ice::Current &c=Ice::emptyCurrent) override
ChannelRefBaseSequence getObjectInstances(const armarx::ChannelRefBasePtr &objectClassChannel, const ::Ice::Current &c=Ice::emptyCurrent) override
armarx::ChannelRefBasePtr requestObjectClassRepeated(const std::string &objectClassName, int cycleTimeMS, const IceUtil::Optional< Ice::Int > &priority, const ::Ice::Current &c=Ice::emptyCurrent) override
armarx::ChannelRefBasePtr requestObjectClassOnce(const std::string &objectClassName, const IceUtil::Optional< Ice::Int > &priority, const ::Ice::Current &c=Ice::emptyCurrent) override
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
void reportEntityCreated(const std::string &segmentName, const EntityBasePtr &entity, const ::Ice::Current &c=Ice::emptyCurrent) override
void reportSnapshotCompletelyLoaded(const Ice::Current &c=Ice::emptyCurrent) override
armarx::ChannelRefBasePtr getFirstObjectInstanceByClass(const std::string &objectClassName, const Ice::Current &c=Ice::emptyCurrent) override
armarx::ChannelRefBasePtr getFirstObjectInstance(const armarx::ChannelRefBasePtr &objectClassChannel, const Ice::Current &c=Ice::emptyCurrent) override
void reportSnapshotLoaded(const std::string &segmentName, const ::Ice::Current &c=Ice::emptyCurrent) override
ChannelRefBaseSequence getObjectInstancesByClass(const std::string &objectClassName, const ::Ice::Current &c=Ice::emptyCurrent) override
void removeFrame(const armarx::ChannelRefBasePtr &frameChannel, const ::Ice::Current &c=Ice::emptyCurrent)
void onInitObserver() override
Framework hook.
void reportMemoryCleared(const std::string &segmentName, const ::Ice::Current &c=Ice::emptyCurrent) override
void releaseObjectClass(const armarx::ChannelRefBasePtr &objectClassChannel, const ::Ice::Current &c=Ice::emptyCurrent) override
std::string getDefaultName() const override
Retrieve default name of component.
IceInternal::Handle< ChannelRef > ChannelRefPtr
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
IceInternal::Handle< LocalizationQuery > LocalizationQueryPtr
IceInternal::Handle< ObjectInstance > ObjectInstancePtr