SMACC2
|
#include <smacc_orthogonal.hpp>
Public Member Functions | |
void | setStateMachine (ISmaccStateMachine *value) |
ISmaccStateMachine * | getStateMachine () |
void | addClientBehavior (std::shared_ptr< smacc2::ISmaccClientBehavior > clientBehavior) |
void | runtimeConfigure () |
void | onEntry () |
void | onExit () |
virtual std::string | getName () const |
template<typename SmaccComponentType > | |
void | requiresComponent (SmaccComponentType *&storage) |
template<typename SmaccClientType > | |
bool | requiresClient (SmaccClientType *&storage) |
const std::vector< std::shared_ptr< smacc2::ISmaccClient > > & | getClients () |
const std::vector< std::shared_ptr< smacc2::ISmaccClientBehavior > > & | getClientBehaviors () const |
template<typename T > | |
void | setGlobalSMData (std::string name, T value) |
template<typename T > | |
bool | getGlobalSMData (std::string name, T &ret) |
template<typename TClientBehavior > | |
TClientBehavior * | getClientBehavior () |
rclcpp::Node::SharedPtr | getNode () |
rclcpp::Logger | getLogger () |
Protected Member Functions | |
virtual void | onInitialize () |
void | initializeClients () |
template<typename TOrthogonal , typename TClient > | |
void | assignClientToOrthogonal (TClient *client) |
Protected Attributes | |
std::vector< std::shared_ptr< smacc2::ISmaccClient > > | clients_ |
Private Attributes | |
ISmaccStateMachine * | stateMachine_ |
std::vector< std::shared_ptr< smacc2::ISmaccClientBehavior > > | clientBehaviors_ |
Friends | |
class | ISmaccStateMachine |
Definition at line 27 of file smacc_orthogonal.hpp.
void smacc2::ISmaccOrthogonal::addClientBehavior | ( | std::shared_ptr< smacc2::ISmaccClientBehavior > | clientBehavior | ) |
Definition at line 49 of file orthogonal.cpp.
References clientBehaviors_, getLogger(), getName(), and getStateMachine().
|
protected |
Definition at line 82 of file smacc_orthogonal_impl.hpp.
References getStateMachine().
TClientBehavior * smacc2::ISmaccOrthogonal::getClientBehavior |
Definition at line 91 of file smacc_orthogonal_impl.hpp.
References clientBehaviors_.
|
inline |
Definition at line 111 of file smacc_orthogonal_impl.hpp.
References clientBehaviors_.
|
inline |
Definition at line 105 of file smacc_orthogonal_impl.hpp.
References clients_.
Definition at line 123 of file smacc_orthogonal_impl.hpp.
References smacc2::ISmaccStateMachine::getGlobalSMData(), and getStateMachine().
|
inline |
Definition at line 65 of file smacc_orthogonal.hpp.
References getNode().
Referenced by addClientBehavior(), smacc2::Orthogonal< TOrthogonal >::createClient(), sm_aws_warehouse_navigation::OrNavigation::loadWaypointsFromYaml(), sm_dance_bot::OrNavigation::loadWaypointsFromYaml(), sm_dance_bot_strikes_back::OrNavigation::loadWaypointsFromYaml(), sm_dance_bot_warehouse::OrNavigation::loadWaypointsFromYaml(), sm_dance_bot_warehouse_2::OrNavigation::loadWaypointsFromYaml(), sm_dance_bot_warehouse_3::OrNavigation::loadWaypointsFromYaml(), sm_husky_barrel_search_1::OrNavigation::loadWaypointsFromYaml(), onEntry(), onExit(), requiresClient(), requiresComponent(), and runtimeConfigure().
|
virtual |
Definition at line 70 of file orthogonal.cpp.
References smacc2::introspection::demangleSymbol().
Referenced by addClientBehavior(), and runtimeConfigure().
rclcpp::Node::SharedPtr smacc2::ISmaccOrthogonal::getNode | ( | ) |
Definition at line 47 of file orthogonal.cpp.
References smacc2::ISmaccStateMachine::getNode(), and stateMachine_.
Referenced by getLogger(), sm_aws_warehouse_navigation::OrNavigation::loadWaypointsFromYaml(), sm_dance_bot::OrNavigation::loadWaypointsFromYaml(), sm_dance_bot_strikes_back::OrNavigation::loadWaypointsFromYaml(), sm_dance_bot_warehouse::OrNavigation::loadWaypointsFromYaml(), sm_dance_bot_warehouse_2::OrNavigation::loadWaypointsFromYaml(), sm_dance_bot_warehouse_3::OrNavigation::loadWaypointsFromYaml(), and sm_husky_barrel_search_1::OrNavigation::loadWaypointsFromYaml().
|
inline |
Definition at line 129 of file smacc_orthogonal_impl.hpp.
References stateMachine_.
Referenced by addClientBehavior(), assignClientToOrthogonal(), getGlobalSMData(), requiresClient(), and setGlobalSMData().
|
protected |
Definition at line 39 of file orthogonal.cpp.
References clients_.
Referenced by setStateMachine().
void smacc2::ISmaccOrthogonal::onEntry | ( | ) |
Definition at line 84 of file orthogonal.cpp.
References cbName, clientBehaviors_, getLogger(), orthogonalName, smacc2_client_behavior_on_entry_end, smacc2_client_behavior_on_entry_start, statename, and TRACEPOINT().
void smacc2::ISmaccOrthogonal::onExit | ( | ) |
Definition at line 118 of file orthogonal.cpp.
References cbName, clientBehaviors_, getLogger(), orthogonalName, smacc2_client_behavior_on_exit_end, smacc2_client_behavior_on_exit_start, statename, and TRACEPOINT().
|
protectedvirtual |
Reimplemented in sm_atomic_subscribers_performance_test::OrSubscriber, $sm_name$::OrTimer, sm_advanced_recovery_1::OrKeyboard, sm_advanced_recovery_1::OrSubscriber, sm_advanced_recovery_1::OrTimer, sm_advanced_recovery_1::OrUpdatablePublisher, sm_atomic::OrTimer, sm_atomic_24hr::OrTimer, sm_autoware_avp::OrAutowareAuto, sm_autoware_avp::OrTimer, sm_aws_warehouse_navigation::OrNavigation, sm_branching::OrTimer, sm_dance_bot::OrLED, sm_dance_bot::OrNavigation, sm_dance_bot::OrObstaclePerception, sm_dance_bot::OrService3, sm_dance_bot::OrStringPublisher, sm_dance_bot::OrTemperatureSensor, sm_dance_bot::OrTimer, sm_dance_bot::OrUpdatablePublisher, sm_dance_bot_strikes_back::OrLED, sm_dance_bot_strikes_back::OrNavigation, sm_dance_bot_strikes_back::OrObstaclePerception, sm_dance_bot_strikes_back::OrService3, sm_dance_bot_strikes_back::OrStringPublisher, sm_dance_bot_strikes_back::OrTemperatureSensor, sm_dance_bot_strikes_back::OrTimer, sm_dance_bot_strikes_back::OrUpdatablePublisher, sm_dance_bot_warehouse::OrLED, sm_dance_bot_warehouse::OrNavigation, sm_dance_bot_warehouse::OrObstaclePerception, sm_dance_bot_warehouse::OrService3, sm_dance_bot_warehouse::OrStringPublisher, sm_dance_bot_warehouse::OrTemperatureSensor, sm_dance_bot_warehouse::OrTimer, sm_dance_bot_warehouse::OrUpdatablePublisher, sm_dance_bot_warehouse_2::OrLED, sm_dance_bot_warehouse_2::OrNavigation, sm_dance_bot_warehouse_2::OrObstaclePerception, sm_dance_bot_warehouse_2::OrService3, sm_dance_bot_warehouse_2::OrStringPublisher, sm_dance_bot_warehouse_2::OrTemperatureSensor, sm_dance_bot_warehouse_2::OrTimer, sm_dance_bot_warehouse_2::OrUpdatablePublisher, sm_dance_bot_warehouse_3::OrLED, sm_dance_bot_warehouse_3::OrNavigation, sm_dance_bot_warehouse_3::OrObstaclePerception, sm_dance_bot_warehouse_3::OrService3, sm_dance_bot_warehouse_3::OrStringPublisher, sm_dance_bot_warehouse_3::OrTemperatureSensor, sm_dance_bot_warehouse_3::OrTimer, sm_dance_bot_warehouse_3::OrUpdatablePublisher, sm_ferrari::OrKeyboard, sm_ferrari::OrSubscriber, sm_ferrari::OrTimer, sm_ferrari::OrUpdatablePublisher, sm_husky_barrel_search_1::OrLedArray, sm_husky_barrel_search_1::OrNavigation, sm_husky_barrel_search_1::OrPerception, sm_multi_stage_1::OrKeyboard, sm_multi_stage_1::OrSubscriber, sm_multi_stage_1::OrTimer, sm_multi_stage_1::OrUpdatablePublisher, sm_pubsub_1::OrKeyboard, sm_pubsub_1::OrSubscriber, sm_pubsub_1::OrTimer, sm_pubsub_1::OrUpdatablePublisher, sm_respira_1::OrKeyboard, sm_respira_1::OrSubscriber, sm_respira_1::OrTimer, sm_respira_1::OrUpdatablePublisher, sm_test_moveit_ur5_sim::OrArm, sm_three_some::OrKeyboard, sm_three_some::OrSubscriber, sm_three_some::OrTimer, and sm_three_some::OrUpdatablePublisher.
Definition at line 68 of file orthogonal.cpp.
Referenced by setStateMachine().
bool smacc2::ISmaccOrthogonal::requiresClient | ( | SmaccClientType *& | storage | ) |
Definition at line 29 of file smacc_orthogonal_impl.hpp.
References clients_, getLogger(), and getStateMachine().
Referenced by smacc2::ISmaccClient::requiresClient(), and smacc2::ISmaccClientBehavior::requiresClient().
void smacc2::ISmaccOrthogonal::requiresComponent | ( | SmaccComponentType *& | storage | ) |
Definition at line 67 of file smacc_orthogonal_impl.hpp.
References getLogger(), smacc2::ISmaccStateMachine::requiresComponent(), and stateMachine_.
void smacc2::ISmaccOrthogonal::runtimeConfigure | ( | ) |
Definition at line 72 of file orthogonal.cpp.
References clientBehaviors_, getLogger(), and getName().
Definition at line 117 of file smacc_orthogonal_impl.hpp.
References getStateMachine(), and smacc2::ISmaccStateMachine::setGlobalSMData().
void smacc2::ISmaccOrthogonal::setStateMachine | ( | ISmaccStateMachine * | value | ) |
Definition at line 32 of file orthogonal.cpp.
References initializeClients(), onInitialize(), and stateMachine_.
|
friend |
Definition at line 81 of file smacc_orthogonal.hpp.
|
private |
Definition at line 80 of file smacc_orthogonal.hpp.
Referenced by addClientBehavior(), getClientBehavior(), getClientBehaviors(), onEntry(), onExit(), and runtimeConfigure().
|
protected |
Definition at line 75 of file smacc_orthogonal.hpp.
Referenced by smacc2::Orthogonal< TOrthogonal >::createClient(), getClients(), initializeClients(), and requiresClient().
|
private |
Definition at line 78 of file smacc_orthogonal.hpp.
Referenced by getNode(), getStateMachine(), requiresComponent(), and setStateMachine().