26#define statename stateMachine_->getCurrentState()->getClassName().c_str()
27#define orthogonalName getName().c_str()
28#define cbName clBehavior->getName().c_str()
51 if (clBehavior !=
nullptr)
54 getLogger(),
"[Orthogonal %s] adding client behavior: %s", this->
getName().c_str(),
55 clBehavior->getName().c_str());
57 clBehavior->currentOrthogonal =
this;
64 getLogger(),
"[orthogonal %s] no client behaviors in this state", this->
getName().c_str());
77 getLogger(),
"[Orthogonal %s] runtimeConfigure, current Behavior: %s",
78 this->
getName().c_str(), clBehavior->getName().c_str());
80 clBehavior->runtimeConfigure();
96 clBehavior->executeOnEntry();
98 catch (
const std::exception & e)
102 "[ClientBehavior %s] Exception on Entry - continuing with next client behavior. "
113 getLogger(),
"[Orthogonal %s] OnEntry -> empty orthogonal (no client behavior) ",
129 clBehavior->executeOnExit();
131 catch (
const std::exception & e)
135 "[ClientBehavior %s] Exception onExit - continuing with next client behavior. Exception "
145 clBehavior->dispose();
std::vector< std::shared_ptr< smacc2::ISmaccClientBehavior > > clientBehaviors_
ISmaccStateMachine * getStateMachine()
void setStateMachine(ISmaccStateMachine *value)
rclcpp::Logger getLogger()
virtual void onInitialize()
void addClientBehavior(std::shared_ptr< smacc2::ISmaccClientBehavior > clientBehavior)
std::vector< std::shared_ptr< smacc2::ISmaccClient > > clients_
ISmaccStateMachine * stateMachine_
virtual std::string getName() const
rclcpp::Node::SharedPtr getNode()
rclcpp::Node::SharedPtr getNode()
std::string demangleSymbol(const std::string &name)
void TRACEPOINT(spinOnce)
smacc2_client_behavior_on_exit_end
smacc2_client_behavior_on_exit_start
smacc2_client_behavior_on_entry_start
smacc2_client_behavior_on_entry_end