Class ISmaccState

Inheritance Relationships

Derived Type

Class Documentation

class ISmaccState

Subclassed by smacc2::SmaccState< MostDerived, Context, InnerInitial, historyMode >

Public Functions

virtual ISmaccStateMachine &getStateMachine() = 0
virtual std::string getName() = 0
inline ISmaccState *getParentState()
inline rclcpp::Node::SharedPtr &getNode()
inline rclcpp::Logger getLogger()
virtual std::string getClassName()
template<typename TOrthogonal, typename TBehavior, typename ...Args>
std::shared_ptr<TBehavior> configure(Args&&... args)
template<typename SmaccComponentType>
void requiresComponent(SmaccComponentType *&storage)
template<typename SmaccClientType>
void requiresClient(SmaccClientType *&storage)
template<typename T>
bool getGlobalSMData(std::string name, T &ret)
template<typename T>
void setGlobalSMData(std::string name, T value)
template<typename TStateReactor, typename TTriggerEvent, typename TEventList, typename ...TEvArgs>
std::shared_ptr<TStateReactor> createStateReactor(TEvArgs... args)
template<typename TStateReactor, typename ...TEvArgs>
std::shared_ptr<TStateReactor> createStateReactor(TEvArgs... args)
template<typename TEventGenerator, typename ...TEvArgs>
std::shared_ptr<TEventGenerator> createEventGenerator(TEvArgs... args)
template<typename EventType>
void postEvent(const EventType &ev)
template<typename EventType>
void postEvent()
template<typename TransitionType>
void notifyTransition()
void notifyTransitionFromTransitionTypeInfo(std::shared_ptr<smacc2::introspection::TypeInfo> &transitionTypeInfo)
inline std::vector<std::shared_ptr<StateReactor>> &getStateReactors()
inline std::vector<std::shared_ptr<SmaccEventGenerator>> &getEventGenerators()
template<typename TOrthogonal>
TOrthogonal *getOrthogonal()
template<typename TOrthogonal, typename TClientBehavior>
TClientBehavior *getClientBehavior(int index = 0)
template<typename TEventGenerator>
TEventGenerator *getEventGenerator()
template<typename TStateReactor>
TStateReactor *getStateReactor()

Protected Attributes

rclcpp::Node::SharedPtr node_
std::shared_ptr<rclcpp::Logger> logger_
std::vector<std::shared_ptr<StateReactor>> stateReactors_
std::vector<std::shared_ptr<smacc2::SmaccEventGenerator>> eventGenerators_
ISmaccState *parentState_
const smacc2::introspection::SmaccStateInfo *stateInfo_