32#include <MemoryX/interface/components/CommonStorageInterface.h>
33#include <MemoryX/interface/components/LongtermMemoryInterface.h>
34#include <MemoryX/interface/components/PriorKnowledgeInterface.h>
35#include <MemoryX/interface/workingmemory/AbstractWorkingMemoryInterface.h>
49 "PriorMemoryName",
"PriorKnowledge",
"Name of PriorKnowledge Ice component");
52 "UseLongtermMemory",
true,
"Switch longterm memory on/off.");
55 "LongtermMemoryName",
"LongtermMemory",
"Name of LongtermMemory Ice component");
60 "Publish scene updates (ObjectCreated/Updated/Removed) on IceStrom topic");
64 "WorkingMemoryUpdates",
65 "Name of IceStrom topic to publish scene updates on");
70 "Name of Snapshot that should be loaded on start up. Leave empty for none.");
76 WorkingMemoryUpdaterBasePrx
proxy;
83 virtual public AbstractWorkingMemoryInterface,
92 return "AbstractWorkingMemory";
95 void onInitComponent()
override;
96 void onConnectComponent()
override;
113 return Component::getObjectAdapter();
117 AbstractMemorySegmentPrx addSegment(
const std::string& segmentName,
118 const AbstractMemorySegmentPtr& segment,
119 const ::Ice::Current& = Ice::emptyCurrent)
override;
121 WorkingMemoryUpdaterBasePrx
122 registerUpdater(
const std::string& updaterName,
123 const WorkingMemoryUpdaterBasePtr& updater,
124 const ::Ice::Current& = Ice::emptyCurrent)
override;
125 WorkingMemoryUpdaterBasePrx getUpdater(
const std::string& updaterName,
126 const ::Ice::Current& = Ice::emptyCurrent)
override;
127 void unregisterUpdater(
const std::string& updaterName,
128 const ::Ice::Current& = Ice::emptyCurrent)
override;
140 AbstractMemorySegmentPrx
148 void clear(const ::Ice::Current& = Ice::emptyCurrent)
override;
149 void print(const ::Ice::Current& = Ice::emptyCurrent)
const override;
#define ARMARXCOMPONENT_IMPORT_EXPORT
Default component property definition container.
ComponentPropertyDefinitions(std::string prefix, bool hasObjectNameParameter=true)
Baseclass for all ArmarX ManagedIceObjects requiring properties.
std::string getConfigIdentifier()
Retrieve config identifier for this component as set in constructor.
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)
AbstractWorkingMemoryPropertyDefinitions(std::string prefix)
AbstractMemorySegmentPrx addSegment(const std::string &segmentName, const AbstractMemorySegmentPtr &segment, const ::Ice::Current &=Ice::emptyCurrent) override
std::shared_mutex updaterMutex
CommonStorageInterfacePrx dataBasePrx
std::string getListenerTopicName()
getListenerTopicName The topic name.
MemoryUpdaterMap updaters
AbstractMemorySegmentPrx addGenericSegment(const std::string &segmentName, const Ice::Current &) override
MongoSerializerPtr dbSerializer
std::string priorMemoryName
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
Ice::ObjectAdapterPtr getObjectAdapter() const override
PriorKnowledgeInterfacePrx priorKnowledgePrx
virtual void onConnectWorkingMemory()=0
WorkingMemoryListenerInterfacePrx listenerPrx
std::string longtermMemoryName
virtual void onInitWorkingMemory()=0
std::string updatesTopicName
LongtermMemoryInterfacePrx longtermMemoryPrx
std::string getDefaultName() const override
Retrieve default name of component.
::IceInternal::Handle<::Ice::ObjectAdapter > ObjectAdapterPtr
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
IceUtil::Handle< AbstractWorkingMemory > AbstractWorkingMemoryPtr
std::map< std::string, MemoryUpdaterEntry > MemoryUpdaterMap
IceUtil::Handle< MongoSerializer > MongoSerializerPtr
WorkingMemoryUpdaterBasePrx proxy
WorkingMemoryUpdaterBasePtr pointer