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;
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;
114 const Ice::Current&
c = Ice::emptyCurrent)
override;
127 Ice::StringSeq
getObserverNames(
const Ice::Current&
c = Ice::emptyCurrent)
override;
142 ConditionRegistry
getPastConditions(
const Ice::Current&
c = Ice::emptyCurrent)
override;
145 const Ice::Current&
c = Ice::emptyCurrent)
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;
#define ARMARXCORE_IMPORT_EXPORT
ComponentPropertyDefinitions(std::string prefix, bool hasObjectNameParameter=true)
Component()
Protected default constructor. Used for virtual inheritance. Use createManagedIceObject() instead.
ConditionHandlerPropertyDefinitions(std::string prefix)
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
Installs a condition.
virtual void onInitConditionHandler()
Framework hook.
ConditionRegistry getActiveConditions(const Ice::Current &c=Ice::emptyCurrent) override
Retrieve the list of active conditions.
void removeCondition(const ConditionIdentifier &id, const Ice::Current &c=Ice::emptyCurrent) override
Removes a condition.
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
Installs a condition.
ConditionRegistry getPastConditions(const Ice::Current &c=Ice::emptyCurrent) override
Retrieve the list of conditions that have been registered in the past.
Ice::StringSeq getObserverNames(const Ice::Current &c=Ice::emptyCurrent) override
Retrieve the list of known observers as provided in the config file.
virtual void onStartConditionHandler()
Framework hook.
ConditionRootBasePtr getCondition(Ice::Int id, const Ice::Current &c=Ice::emptyCurrent) override
void removeAllConditions(const Ice::Current &c=Ice::emptyCurrent) override
Removes all conditions.
std::string getDefaultName() const override
Retrieve default name of component.
std::string prefix
Prefix of the properties such as namespace, domain, component name, etc.
This file offers overloads of toIce() and fromIce() functions for STL container types.
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.