26#define statename stateMachine_->getCurrentState()->getClassName().c_str()
27#define orthogonalName getName().c_str()
28#define cbName clBehavior->getName().c_str()
51 std::lock_guard<std::mutex>
lock(this->
mutex_);
53 if (clBehavior !=
nullptr)
59 clBehavior->currentOrthogonal =
this;
77 state->getClassName().c_str());
78 clientBehaviors_.push_back(std::vector<std::shared_ptr<smacc2::ISmaccClientBehavior>>());
85 std::lock_guard<std::mutex>
lock(this->
mutex_);
90 getLogger(),
"[Orthogonal %s] runtimeConfigure, current Behavior: %s",
99 std::lock_guard<std::mutex>
lock(this->
mutex_);
113 catch (
const std::exception &
e)
117 "[ClientBehavior %s] Exception on Entry - continuing with next client behavior. "
128 getLogger(),
"[Orthogonal %s] OnEntry -> empty orthogonal (no client behavior) ",
135 std::lock_guard<std::mutex>
lock(this->
mutex_);
148 catch (
const std::exception &
e)
152 "[ClientBehavior %s] Exception onExit - continuing with next client behavior. Exception "
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_
void initState(ISmaccState *state)
ISmaccStateMachine * stateMachine_
std::vector< std::vector< std::shared_ptr< smacc2::ISmaccClientBehavior > > > clientBehaviors_
virtual std::string getName() const
rclcpp::Node::SharedPtr getNode()
rclcpp::Node::SharedPtr getNode()
void disconnectSmaccSignalObject(void *object)
std::string demangleSymbol()
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