31 #include <ArmarXCore/interface/observers/ObserverInterface.h>
32 #include <ArmarXCore/interface/observers/ConditionHandlerInterface.h>
66 virtual public ConditionHandlerInterface,
81 ConditionIdentifier installCondition(
const EventListenerInterfacePrx& listener,
const TermImplBasePtr& expression,
const EventBasePtr& e,
bool onlyFireOnce,
bool reportDatafields,
const DatafieldRefList& refs,
const Ice::Current&
c = Ice::emptyCurrent)
override;
95 ConditionIdentifier installConditionWithDescription(
const EventListenerInterfacePrx& listener,
const TermImplBasePtr& expression,
const EventBasePtr& e,
const std::string& desc,
bool onlyFireOnce,
bool reportDatafields,
const DatafieldRefList& refs,
const Ice::Current&
c = Ice::emptyCurrent)
override;
102 void removeCondition(
const ConditionIdentifier&
id,
const Ice::Current&
c = Ice::emptyCurrent)
override;
108 void removeAllConditions(
const Ice::Current&
c = Ice::emptyCurrent)
override;
115 Ice::StringSeq getObserverNames(
const Ice::Current&
c = Ice::emptyCurrent)
override;
122 ConditionRegistry getActiveConditions(
const Ice::Current&
c = Ice::emptyCurrent)
override;
130 ConditionRegistry getPastConditions(
const Ice::Current&
c = Ice::emptyCurrent)
override;
132 ConditionRootBasePtr getCondition(
Ice::Int id,
const Ice::Current&
c = Ice::emptyCurrent)
override;
134 std::string getDefaultName()
const override;
153 void onInitComponent()
override;
154 void onConnectComponent()
override;
159 std::mutex iceManagerMutex;
160 std::mutex conditionRegistryMutex;
161 ConditionRegistry conditionRegistry;
162 std::mutex conditionHistoryMutex;
163 ConditionRegistry conditionHistory;
167 void useObservers(std::vector<std::string>&
names);
168 void preCacheObservers(std::vector<std::string>&
names);
169 ObserverInterfacePrx getObserver(std::string observerName);
172 void installChecks(std::vector<LiteralImplPtr>& literals,
const Ice::Current&
c);
173 void removeChecks(std::vector<LiteralImplPtr>& literals,
const Ice::Current&
c);
175 Ice::StringSeq observerNames;