34 #include <ArmarXCore/interface/observers/ConditionHandlerInterface.h>
35 #include <ArmarXCore/interface/observers/ObserverInterface.h>
63 virtual public ConditionHandlerInterface,
78 ConditionIdentifier installCondition(
const EventListenerInterfacePrx& listener,
79 const TermImplBasePtr& expression,
80 const EventBasePtr& e,
82 bool reportDatafields,
83 const DatafieldRefList& refs,
84 const Ice::Current&
c = Ice::emptyCurrent)
override;
99 installConditionWithDescription(
const EventListenerInterfacePrx& listener,
100 const TermImplBasePtr& expression,
101 const EventBasePtr& e,
102 const std::string& desc,
104 bool reportDatafields,
105 const DatafieldRefList& refs,
106 const Ice::Current&
c = Ice::emptyCurrent)
override;
113 void removeCondition(
const ConditionIdentifier&
id,
114 const Ice::Current&
c = Ice::emptyCurrent)
override;
120 void removeAllConditions(
const Ice::Current&
c = Ice::emptyCurrent)
override;
127 Ice::StringSeq getObserverNames(
const Ice::Current&
c = Ice::emptyCurrent)
override;
134 ConditionRegistry getActiveConditions(
const Ice::Current&
c = Ice::emptyCurrent)
override;
142 ConditionRegistry getPastConditions(
const Ice::Current&
c = Ice::emptyCurrent)
override;
144 ConditionRootBasePtr getCondition(
Ice::Int id,
145 const Ice::Current&
c = Ice::emptyCurrent)
override;
147 std::string getDefaultName()
const override;
172 void onInitComponent()
override;
173 void onConnectComponent()
override;
178 std::mutex iceManagerMutex;
179 std::mutex conditionRegistryMutex;
180 ConditionRegistry conditionRegistry;
181 std::mutex conditionHistoryMutex;
182 ConditionRegistry conditionHistory;
186 void useObservers(std::vector<std::string>&
names);
187 void preCacheObservers(std::vector<std::string>&
names);
188 ObserverInterfacePrx getObserver(std::string observerName);
191 void installChecks(std::vector<LiteralImplPtr>& literals,
const Ice::Current&
c);
192 void removeChecks(std::vector<LiteralImplPtr>& literals,
const Ice::Current&
c);
194 Ice::StringSeq observerNames;