54 virtual public WorldStateObserverInterface,
62 return "WorldStateObserver";
65 static std::string GetDefaultName();
67 void onInitComponent()
override;
68 void onConnectComponent()
override;
71 memoryx::PredicateInstanceList getWorldState(const ::Ice::Current&)
override;
72 bool isObservable(const ::std::string& predicateName, const ::Ice::Current&)
override;
73 bool updatePredicateValue(
const PredicateInstance&
pi,
75 const ::Ice::Current&)
override;
76 void setPredicateArgumentWhitelist(
const EntityBaseList& argumentWhitelist,
77 const Ice::Current&)
override;
78 void resetPredicateArgumentWhitelist(const ::Ice::Current&)
override;
81 bool areAllowed(
const std::vector<memoryx::EntityRefBasePtr>& entityRefs);
82 void addListToList(PredicateInstanceList& target,
const PredicateInstanceList& source);
83 PredicateInstanceList getHandEmptyPredicates();
85 PredicateInstanceList getNonobservableRelationsAndPredicates();
87 std::mutex updaterMutex;
88 std::map<std::string, WorldStateUpdaterInterfacePrx> updaters;
90 EntityBaseList argumentWhitelist;
91 WorkingMemoryInterfacePrx
wm;
92 PriorKnowledgeInterfacePrx prior;
94 ObjectInstanceMemorySegmentBasePrx objectInstances;
95 PersistentObjectClassSegmentBasePrx objectClasses;
96 RelationMemorySegmentBasePrx objectRelations;
98 PredicateInstanceList observablePredicateInstances;
102 void addObservablePredicateInstances(
const PredicateInstanceList& predicates,
103 const Ice::Current&)
override;
104 void registerAsUpdater(
const std::string& name,
105 const WorldStateUpdaterInterfacePrx& updater,
106 const Ice::Current&)
override;
107 WorldStateUpdaterInterfaceList getRegisteredUpdaters(
const Ice::Current&)
override;