| 
    SMACC2
    
   | 
 
State Machine. More...
#include <smacc_state_machine_base.hpp>


Public Member Functions | |
| SmaccStateMachineBase (my_context ctx, SignalDetector *signalDetector, rclcpp::NodeOptions node_options=rclcpp::NodeOptions()) | |
| virtual | ~SmaccStateMachineBase () | 
| void | reset () override | 
| void | stop () override | 
| void | eStop () override | 
| void | initiate_impl () override | 
  Public Member Functions inherited from smacc2::ISmaccStateMachine | |
| ISmaccStateMachine (std::string stateMachineName, SignalDetector *signalDetector, rclcpp::NodeOptions nodeOptions=rclcpp::NodeOptions()) | |
| virtual | ~ISmaccStateMachine () | 
| template<typename TOrthogonal > | |
| TOrthogonal * | getOrthogonal () | 
| template<typename TOrthogonal , typename TClientBehavior > | |
| TClientBehavior * | getClientBehavior (int index=0) | 
| const std::map< std::string, std::shared_ptr< smacc2::ISmaccOrthogonal > > & | getOrthogonals () const | 
| template<typename SmaccComponentType > | |
| void | requiresComponent (SmaccComponentType *&storage, bool throwsExceptionIfNotExist=false) | 
| template<typename EventType > | |
| void | postEvent (EventType *ev, EventLifeTime evlifetime=EventLifeTime::ABSOLUTE) | 
| template<typename EventType > | |
| void | postEvent (EventLifeTime evlifetime=EventLifeTime::ABSOLUTE) | 
| template<typename T > | |
| bool | getGlobalSMData (std::string name, T &ret) | 
| template<typename T > | |
| void | setGlobalSMData (std::string name, T value) | 
| std::string | getStateMachineName () | 
| void | state_machine_visualization () | 
| std::shared_ptr< SmaccStateInfo > | getCurrentStateInfo () | 
| void | publishTransition (const SmaccTransitionInfo &transitionInfo) | 
| virtual void | onInitialize () | 
| this function should be implemented by the user to create the orthogonals   | |
| void | getTransitionLogHistory (const std::shared_ptr< rmw_request_id_t > request_header, const std::shared_ptr< smacc2_msgs::srv::SmaccGetTransitionHistory::Request > req, std::shared_ptr< smacc2_msgs::srv::SmaccGetTransitionHistory::Response > res) | 
| template<typename TSmaccSignal , typename TMemberFunctionPrototype , typename TSmaccObjectType > | |
| boost::signals2::connection | createSignalConnection (TSmaccSignal &signal, TMemberFunctionPrototype callback, TSmaccObjectType *object) | 
| void | disconnectSmaccSignalObject (void *object) | 
| template<typename StateType > | |
| void | notifyOnStateEntryStart (StateType *state) | 
| template<typename StateType > | |
| void | notifyOnStateEntryEnd (StateType *state) | 
| template<typename StateType > | |
| void | notifyOnRuntimeConfigured (StateType *state) | 
| template<typename StateType > | |
| void | notifyOnStateExitting (StateType *state) | 
| template<typename StateType > | |
| void | notifyOnStateExited (StateType *state) | 
| template<typename StateType > | |
| void | notifyOnRuntimeConfigurationFinished (StateType *state) | 
| int64_t | getCurrentStateCounter () const | 
| ISmaccState * | getCurrentState () const | 
| const SmaccStateMachineInfo & | getStateMachineInfo () | 
| template<typename InitialStateType > | |
| void | buildStateMachineInfo () | 
| rclcpp::Node::SharedPtr | getNode () | 
| rclcpp::Logger | getLogger () | 
| std::recursive_mutex & | getMutex () | 
Additional Inherited Members | |
  Protected Member Functions inherited from smacc2::ISmaccStateMachine | |
| void | checkStateMachineConsistence () | 
| void | initializeROS (std::string smshortname) | 
| void | onInitialized () | 
| template<typename TOrthogonal > | |
| void | createOrthogonal () | 
  Protected Attributes inherited from smacc2::ISmaccStateMachine | |
| rclcpp::Node::SharedPtr | nh_ | 
| rclcpp::TimerBase::SharedPtr | timer_ | 
| rclcpp::Publisher< smacc2_msgs::msg::SmaccStateMachine >::SharedPtr | stateMachinePub_ | 
| rclcpp::Publisher< smacc2_msgs::msg::SmaccStatus >::SharedPtr | stateMachineStatusPub_ | 
| rclcpp::Publisher< smacc2_msgs::msg::SmaccTransitionLogEntry >::SharedPtr | transitionLogPub_ | 
| rclcpp::Publisher< smacc2_msgs::msg::SmaccEvent >::SharedPtr | eventsLogPub_ | 
| rclcpp::Service< smacc2_msgs::srv::SmaccGetTransitionHistory >::SharedPtr | transitionHistoryService_ | 
| std::vector< ISmaccState * > | currentState_ | 
| std::shared_ptr< SmaccStateInfo > | currentStateInfo_ | 
| smacc2_msgs::msg::SmaccStatus | status_msg_ | 
| std::map< std::string, std::shared_ptr< smacc2::ISmaccOrthogonal > > | orthogonals_ | 
| std::vector< boost::signals2::scoped_connection > | longLivedSignalConnections_ | 
| std::shared_ptr< SmaccStateMachineInfo > | stateMachineInfo_ | 
State Machine.
Definition at line 30 of file smacc_state_machine_base.hpp.
      
  | 
  inline | 
Definition at line 36 of file smacc_state_machine_base.hpp.
      
  | 
  inlinevirtual | 
Definition at line 46 of file smacc_state_machine_base.hpp.
      
  | 
  inlineoverridevirtual | 
Reimplemented from smacc2::ISmaccStateMachine.
Definition at line 64 of file smacc_state_machine_base.hpp.
References smacc2::ISmaccStateMachine::eStop().

      
  | 
  inlineoverride | 
Definition at line 70 of file smacc_state_machine_base.hpp.
References smacc2::ISmaccStateMachine::buildStateMachineInfo(), smacc2::utils::cleanShortTypeName(), smacc2::ISmaccStateMachine::getLogger(), smacc2::ISmaccStateMachine::getNode(), smacc2::introspection::globalNh_, smacc2::ISmaccStateMachine::initializeROS(), smacc2::ISmaccStateMachine::onInitialize(), smacc2::ISmaccStateMachine::onInitialized(), smacc2::ISmaccStateMachine::publishTransition(), and smacc2::ISmaccStateMachine::stateMachineInfo_.

      
  | 
  inlineoverridevirtual | 
Reimplemented from smacc2::ISmaccStateMachine.
Definition at line 51 of file smacc_state_machine_base.hpp.
References smacc2::ISmaccStateMachine::reset(), and smacc2::run().

      
  | 
  inlineoverridevirtual | 
Reimplemented from smacc2::ISmaccStateMachine.
Definition at line 58 of file smacc_state_machine_base.hpp.
References smacc2::ISmaccStateMachine::stop().
