Go to the documentation of this file.
25 #ifndef _ARMARX_CORE_STATECHARTCONTEXT_H
26 #define _ARMARX_CORE_STATECHARTCONTEXT_H
31 #include "../core/Component.h"
33 #include <ArmarXCore/interface/observers/SystemObserverInterface.h>
34 #include <ArmarXCore/interface/observers/ConditionHandlerInterface.h>
36 #include <unordered_map>
41 class StatechartEventDistributor;
95 void onInitComponent()
override;
96 void onConnectComponent()
override;
97 void onDisconnectComponent()
override;
98 void onExitComponent()
override;
179 std::unordered_map<std::string, ObserverInterfacePrx>
observerMap;
::std::vector< ::armarx::DataFieldIdentifierBasePtr > DataFieldIdentifierBaseList
IceManagerPtr getIceManager() const
Returns the IceManager.
VariantBasePtr getDataFromObserver(const DataFieldIdentifierBasePtr &identifier) override
virtual void onConnectStatechart()=0
onConnectStatechart is called before armarx::StatechartContext::startStatechart() and after armarx::S...
virtual void onInitStatechartContext()
onInitStatechartonInitStatechartContext can be implemented by subclasses
void setReportingTopic(std::string reportingTopic)
SystemObserverInterfacePrx systemObserverPrx
std::string prefix
Prefix of the properties such as namespace, domain, component name, etc.
std::shared_ptr< class StatechartProfile > StatechartProfilePtr
ConditionHandlerInterfacePrx conditionHandlerPrx
ChannelRefPtr getChannelRef(const std::string &observerName, const std::string &channelName) override
const StatechartProfilePtr & getSelectedStatechartProfile() const
bool setToplevelState(const armarx::StatePtr &newToplevelState, StringVariantContainerBaseMap startParameters=StringVariantContainerBaseMap())
setToplevelState initializes newToplevelState with the current StatechartContext and the current Stat...
void startStatechart()
startStatechart actives both, the toplevel startchart stored in the variable statechart and the State...
std::string reportingTopic
StatechartEventDistributorPtr eventDistributor
The EventListenerInterface instance, that receives events from observers and redirects them to the co...
std::shared_ptr< Value > value()
This class contains a statechart and provides the interfaces to distributed components.
std::unordered_map< std::string, ObserverInterfacePrx > observerMap
StatechartContextPropertyDefinitions(std::string prefix)
DatafieldRefPtr getDatafieldRef(const DataFieldIdentifier &datafieldIdentifier) override
virtual void onExitStatechart()
onExitStatechart can be implemented by subclasses
Profiler::ProfilerPtr stateReporter
~StatechartContext() override
Baseclass for all ArmarX ManagedIceObjects requiring properties.
PropertyDefinitionsPtr createPropertyDefinitions() override
StatechartManagerPtr statechartManager
Default component property definition container.
TimedVariantBaseList getDataListFromObserver(std::string observerName, const DataFieldIdentifierBaseList &identifierList) override
std::shared_ptr< Profiler > ProfilerPtr
void setSelectedStatechartProfile(const StatechartProfilePtr &value)
virtual void onInitStatechart()=0
onInitStatechart this method is called when the statechart is started.
bool autoEnterToplevelState
virtual void onConnectStatechartContext()
onConnectStatechartContext can be implemented by subclasses
This file offers overloads of toIce() and fromIce() functions for STL container types.
The StatechartContextPropertyDefinitions class contains properties associated with all statecharts.
DataFieldIdentifier provide the basis to identify data field within a distributed ArmarX scenario.
void setAutoEnterToplevelState(bool autoEnter)
setAutoStartStatechart controls whether the toplevelstate is automatically entered,...