SMACC2
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
smacc2::ISmaccClientBehavior Class Reference

#include <smacc_client_behavior_base.hpp>

Inheritance diagram for smacc2::ISmaccClientBehavior:
Inheritance graph
Collaboration diagram for smacc2::ISmaccClientBehavior:
Collaboration graph

Public Member Functions

 ISmaccClientBehavior ()
 
virtual ~ISmaccClientBehavior ()
 
ISmaccStateMachinegetStateMachine ()
 
std::string getName () const
 
template<typename SmaccClientType >
void requiresClient (SmaccClientType *&storage)
 
template<typename SmaccComponentType >
void requiresComponent (SmaccComponentType *&storage)
 

Protected Member Functions

virtual void runtimeConfigure ()
 
virtual void onEntry ()
 
virtual void onExit ()
 
template<typename EventType >
void postEvent (const EventType &ev)
 
template<typename EventType >
void postEvent ()
 
ISmaccStategetCurrentState ()
 
virtual void dispose ()
 
virtual rclcpp::Node::SharedPtr getNode ()
 
virtual rclcpp::Logger getLogger ()
 

Private Member Functions

virtual void executeOnEntry ()
 
virtual void executeOnExit ()
 
template<typename TOrthogonal , typename TSourceObject >
void onOrthogonalAllocation ()
 

Private Attributes

ISmaccStateMachinestateMachine_
 
ISmaccStatecurrentState
 
smacc2::ISmaccOrthogonalcurrentOrthogonal
 

Friends

class ISmaccState
 
class ISmaccOrthogonal
 
class ISmaccAsynchronousClientBehavior
 

Detailed Description

Definition at line 29 of file smacc_client_behavior_base.hpp.

Constructor & Destructor Documentation

◆ ISmaccClientBehavior()

smacc2::ISmaccClientBehavior::ISmaccClientBehavior ( )

Definition at line 25 of file smacc_client_behavior_base.cpp.

26{
27 stateMachine_ = nullptr;
28 currentState = nullptr;
29}

References currentState, and stateMachine_.

◆ ~ISmaccClientBehavior()

smacc2::ISmaccClientBehavior::~ISmaccClientBehavior ( )
virtual

Definition at line 31 of file smacc_client_behavior_base.cpp.

32{
33 RCLCPP_WARN(getLogger(), "Client behavior deallocated.");
34}

References getLogger().

Here is the call graph for this function:

Member Function Documentation

◆ dispose()

void smacc2::ISmaccClientBehavior::dispose ( )
protectedvirtual

Reimplemented in smacc2::SmaccAsyncClientBehavior.

Definition at line 74 of file smacc_client_behavior_base.cpp.

74{}

◆ executeOnEntry()

void smacc2::ISmaccClientBehavior::executeOnEntry ( )
privatevirtual

Reimplemented in smacc2::SmaccAsyncClientBehavior.

Definition at line 60 of file smacc_client_behavior_base.cpp.

61{
62 RCLCPP_DEBUG(
63 getLogger(), "[%s] Default empty SmaccClientBehavior onEntry", this->getName().c_str());
64 this->onEntry();
65}

References getLogger(), getName(), and onEntry().

Here is the call graph for this function:

◆ executeOnExit()

void smacc2::ISmaccClientBehavior::executeOnExit ( )
privatevirtual

Reimplemented in smacc2::SmaccAsyncClientBehavior.

Definition at line 67 of file smacc_client_behavior_base.cpp.

68{
69 RCLCPP_DEBUG(
70 getLogger(), "[%s] Default empty SmaccClientBehavior onExit", this->getName().c_str());
71 this->onExit();
72}

References getLogger(), getName(), and onExit().

Here is the call graph for this function:

◆ getCurrentState()

ISmaccState * smacc2::ISmaccClientBehavior::getCurrentState ( )
inlineprotected

◆ getLogger()

rclcpp::Logger smacc2::ISmaccClientBehavior::getLogger ( )
protectedvirtual

Definition at line 40 of file smacc_client_behavior_base.cpp.

41{
42 auto nh = this->getNode();
43 if (nh != nullptr)
44 {
45 return nh->get_logger();
46 }
47 else
48 {
49 return rclcpp::get_logger("SMACC");
50 }
51}
virtual rclcpp::Node::SharedPtr getNode()

References getNode().

Referenced by cl_nav2z::CbNavigateBackwards::CbNavigateBackwards(), cl_move_group_interface::CbCircularPivotMotion::computeCurrentEndEffectorPoseRelativeToPivot(), cl_move_group_interface::CbMoveEndEffectorTrajectory::computeJointSpaceTrajectory(), smacc2::SmaccAsyncClientBehavior::dispose(), cl_nav2z::CbNavigateGlobalPosition::execute(), cl_move_group_interface::CbMoveEndEffectorTrajectory::executeJointSpaceTrajectory(), executeOnEntry(), smacc2::SmaccAsyncClientBehavior::executeOnEntry(), executeOnExit(), smacc2::SmaccAsyncClientBehavior::executeOnExit(), cl_move_group_interface::CbCircularPivotMotion::generateTrajectory(), cl_move_group_interface::CbMoveCartesianRelative2::generateTrajectory(), cl_move_group_interface::CbCircularPouringMotion::generateTrajectory(), cl_move_group_interface::CbMoveEndEffectorTrajectory::initializeROS(), cl_move_group_interface::CbMoveKnownState::loadJointStatesFromFile(), cl_move_group_interface::CbMoveJoints::moveJoints(), cl_move_group_interface::CbMoveEndEffectorRelative::moveRelative(), cl_move_group_interface::CbMoveCartesianRelative::moveRelativeCartesian(), cl_move_group_interface::CbMoveEndEffector::moveToAbsolutePose(), smacc2::client_behaviors::CbServiceCall< ServiceType >::onEntry(), smacc2::client_behaviors::CbRosLaunch::onEntry(), smacc2::client_behaviors::CbWaitActionServer::onEntry(), smacc2::client_behaviors::CbWaitNode::onEntry(), smacc2::client_behaviors::CbWaitTopicMessage< TMessage >::onEntry(), smacc2::SmaccClientBehavior::onEntry(), cl_move_group_interface::CbAttachObject::onEntry(), cl_move_group_interface::CbDetachObject::onEntry(), cl_move_group_interface::CbEndEffectorRotate::onEntry(), cl_move_group_interface::CbMoveEndEffector::onEntry(), cl_move_group_interface::CbMoveEndEffectorRelative::onEntry(), cl_move_group_interface::CbMoveEndEffectorTrajectory::onEntry(), cl_move_group_interface::CbMoveLastTrajectoryInitialState::onEntry(), cl_move_group_interface::CbUndoLastTrajectory::onEntry(), cl_multirole_sensor::CbDefaultMultiRoleSensorBehavior< ClientType >::onEntry(), cl_nav2z::CbAbsoluteRotate::onEntry(), cl_nav2z::CbNavigateBackwards::onEntry(), cl_nav2z::CbNavigateForward::onEntry(), cl_nav2z::CbNavigateGlobalPosition::onEntry(), cl_nav2z::CbNavigateNextWaypoint::onEntry(), cl_nav2z::CbPauseSlam::onEntry(), cl_nav2z::CbResumeSlam::onEntry(), cl_nav2z::CbRotate::onEntry(), cl_nav2z::CbWaitNav2Nodes::onEntry(), cl_nav2z::CbWaitPose::onEntry(), cl_nav2z::CbWaitTransform::onEntry(), sm_autoware_avp::clients::autoware_client::CbNavigateGlobalPosition::onEntry(), sm_dance_bot::cl_lidar::CbLidarSensor::onEntry(), sm_dance_bot::cl_temperature_sensor::CbConditionTemperatureSensor::onEntry(), sm_dance_bot_strikes_back::cl_lidar::CbLidarSensor::onEntry(), sm_dance_bot_strikes_back::cl_temperature_sensor::CbConditionTemperatureSensor::onEntry(), sm_dance_bot_warehouse::cl_lidar::CbLidarSensor::onEntry(), sm_dance_bot_warehouse::cl_temperature_sensor::CbConditionTemperatureSensor::onEntry(), sm_dance_bot_warehouse_2::cl_lidar::CbLidarSensor::onEntry(), sm_dance_bot_warehouse_2::cl_temperature_sensor::CbConditionTemperatureSensor::onEntry(), sm_dance_bot_warehouse_3::cl_lidar::CbLidarSensor::onEntry(), sm_dance_bot_warehouse_3::cl_nav2zclient::CbPureSpinning::onEntry(), sm_dance_bot_warehouse_3::cl_temperature_sensor::CbConditionTemperatureSensor::onEntry(), smacc2::SmaccClientBehavior::onExit(), cl_nav2z::CbNavigateGlobalPosition::onExit(), cl_nav2z::CbUndoPathBackwards::onExit(), cl_nav2z::CbWaitNav2Nodes::onMessageReceived(), sm_ferrari::cl_subscriber::CbMySubscriberBehavior::onMessageReceived(), sm_pubsub_1::cl_subscriber::CbMySubscriberBehavior::onMessageReceived(), smacc2::client_behaviors::CbWaitTopicMessage< TMessage >::onMessageReceived(), cl_move_group_interface::CbMoveEndEffectorTrajectory::onOrthogonalAllocation(), cl_multirole_sensor::CbDefaultMultiRoleSensorBehavior< ClientType >::onOrthogonalAllocation(), postEvent(), cl_keyboard::CbDefaultKeyboardBehavior::postKeyEvent(), cl_nav2z::CbNav2ZClientBehaviorBase::propagateFailureEvent(), cl_nav2z::CbNav2ZClientBehaviorBase::propagateSuccessEvent(), requiresComponent(), runtimeConfigure(), sm_dance_bot::cl_string_publisher::CbStringPublisher::runtimeConfigure(), sm_dance_bot_strikes_back::cl_string_publisher::CbStringPublisher::runtimeConfigure(), sm_dance_bot_warehouse::cl_string_publisher::CbStringPublisher::runtimeConfigure(), sm_dance_bot_warehouse_2::cl_string_publisher::CbStringPublisher::runtimeConfigure(), sm_dance_bot_warehouse_3::cl_string_publisher::CbStringPublisher::runtimeConfigure(), cl_nav2z::CbNavigateForward::setForwardDistance(), cl_nav2z::CbAbsoluteRotate::updateTemporalBehaviorParameters(), smacc2::SmaccAsyncClientBehavior::waitFutureIfNotFinished(), and ~ISmaccClientBehavior().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getName()

std::string smacc2::ISmaccClientBehavior::getName ( ) const

Definition at line 36 of file smacc_client_behavior_base.cpp.

36{ return demangleSymbol(typeid(*this).name()); }
std::string demangleSymbol(const std::string &name)

References smacc2::introspection::demangleSymbol().

Referenced by cl_move_group_interface::CbCircularPivotMotion::computeCurrentEndEffectorPoseRelativeToPivot(), cl_move_group_interface::CbMoveEndEffectorTrajectory::computeJointSpaceTrajectory(), smacc2::SmaccAsyncClientBehavior::dispose(), cl_move_group_interface::CbMoveEndEffectorTrajectory::executeJointSpaceTrajectory(), executeOnEntry(), smacc2::SmaccAsyncClientBehavior::executeOnEntry(), executeOnExit(), smacc2::SmaccAsyncClientBehavior::executeOnExit(), cl_move_group_interface::CbCircularPivotMotion::generateTrajectory(), cl_move_group_interface::CbMoveCartesianRelative2::generateTrajectory(), cl_move_group_interface::CbCircularPouringMotion::generateTrajectory(), cl_move_group_interface::CbMoveEndEffectorTrajectory::initializeROS(), cl_move_group_interface::CbMoveKnownState::loadJointStatesFromFile(), cl_move_group_interface::CbMoveJoints::moveJoints(), smacc2::client_behaviors::CbServiceCall< ServiceType >::onEntry(), smacc2::client_behaviors::CbWaitNode::onEntry(), smacc2::SmaccClientBehavior::onEntry(), cl_move_group_interface::CbAttachObject::onEntry(), cl_move_group_interface::CbDetachObject::onEntry(), cl_move_group_interface::CbEndEffectorRotate::onEntry(), cl_move_group_interface::CbMoveEndEffectorTrajectory::onEntry(), cl_move_group_interface::CbMoveLastTrajectoryInitialState::onEntry(), cl_move_group_interface::CbUndoLastTrajectory::onEntry(), cl_nav2z::CbAbsoluteRotate::onEntry(), cl_nav2z::CbNavigateForward::onEntry(), cl_nav2z::CbNavigateGlobalPosition::onEntry(), cl_nav2z::CbRotate::onEntry(), sm_dance_bot_warehouse_3::cl_nav2zclient::CbPureSpinning::onEntry(), smacc2::SmaccClientBehavior::onExit(), cl_nav2z::CbUndoPathBackwards::onExit(), cl_move_group_interface::CbMoveEndEffectorTrajectory::onOrthogonalAllocation(), runtimeConfigure(), and cl_nav2z::CbNavigateForward::setForwardDistance().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getNode()

rclcpp::Node::SharedPtr smacc2::ISmaccClientBehavior::getNode ( )
protectedvirtual

Definition at line 38 of file smacc_client_behavior_base.cpp.

38{ return this->stateMachine_->getNode(); }
rclcpp::Node::SharedPtr getNode()

References smacc2::ISmaccStateMachine::getNode(), and stateMachine_.

Referenced by cl_move_group_interface::CbCircularPivotMotion::computeCurrentEndEffectorPoseRelativeToPivot(), cl_move_group_interface::CbMoveEndEffectorTrajectory::createMarkers(), cl_move_group_interface::CbCircularPivotMotion::createMarkers(), cl_move_group_interface::CbCircularPouringMotion::createMarkers(), cl_nav2z::CbNavigateGlobalPosition::execute(), cl_move_group_interface::CbMoveCartesianRelative2::generateTrajectory(), cl_move_group_interface::CbCircularPouringMotion::generateTrajectory(), cl_move_group_interface::CbMoveEndEffectorTrajectory::getCurrentEndEffectorPose(), getLogger(), cl_move_group_interface::CbMoveEndEffectorTrajectory::initializeROS(), smacc2::client_behaviors::CbServiceCall< ServiceType >::onEntry(), smacc2::client_behaviors::CbWaitNode::onEntry(), smacc2::client_behaviors::CbWaitTopicMessage< TMessage >::onEntry(), cl_move_group_interface::CbAttachObject::onEntry(), cl_move_group_interface::CbEndEffectorRotate::onEntry(), cl_move_group_interface::CbMoveCartesianRelative::onEntry(), cl_move_group_interface::CbMoveEndEffector::onEntry(), cl_move_group_interface::CbMoveEndEffectorRelative::onEntry(), cl_move_group_interface::CbMoveJoints::onEntry(), cl_nav2z::CbAbsoluteRotate::onEntry(), cl_nav2z::CbNavigateBackwards::onEntry(), cl_nav2z::CbNavigateForward::onEntry(), cl_nav2z::CbRotate::onEntry(), cl_nav2z::CbUndoPathBackwards::onEntry(), cl_nav2z::CbWaitNav2Nodes::onEntry(), cl_nav2z::CbWaitTransform::onEntry(), sm_autoware_avp::clients::autoware_client::CbNavigateGlobalPosition::onEntry(), sm_autoware_avp::clients::autoware_client::CbSetupInitialPoseEstimation::onEntry(), sm_dance_bot_warehouse_3::cl_nav2zclient::CbPureSpinning::onEntry(), cl_move_group_interface::CbMoveEndEffectorTrajectory::onExit(), cl_nav2z::CbAbsoluteRotate::updateTemporalBehaviorParameters(), and smacc2::SmaccAsyncClientBehavior::waitFutureIfNotFinished().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getStateMachine()

ISmaccStateMachine * smacc2::ISmaccClientBehavior::getStateMachine ( )
inline

◆ onEntry()

virtual void smacc2::ISmaccClientBehavior::onEntry ( )
inlineprotectedvirtual

Reimplemented in cl_keyboard::CbDefaultKeyboardBehavior, sm_advanced_recovery_1::cl_subscriber::CbDefaultSubscriberBehavior, sm_advanced_recovery_1::cl_subscriber::CbWatchdogSubscriberBehavior, sm_dance_bot::cl_string_publisher::CbStringPublisher, sm_dance_bot_strikes_back::cl_string_publisher::CbStringPublisher, sm_dance_bot_warehouse::cl_string_publisher::CbStringPublisher, sm_dance_bot_warehouse_2::cl_string_publisher::CbStringPublisher, sm_dance_bot_warehouse_3::cl_string_publisher::CbStringPublisher, sm_ferrari::cl_subscriber::CbMySubscriberBehavior, sm_multi_stage_1::cl_subscriber::CbDefaultSubscriberBehavior, sm_multi_stage_1::cl_subscriber::CbWatchdogSubscriberBehavior, sm_pubsub_1::cl_subscriber::CbMySubscriberBehavior, sm_respira_1::cl_subscriber::CbDefaultSubscriberBehavior, sm_respira_1::cl_subscriber::CbWatchdogSubscriberBehavior, sm_three_some::cl_subscriber::CbDefaultSubscriberBehavior, sm_three_some::cl_subscriber::CbWatchdogSubscriberBehavior, smacc2::client_behaviors::CbServiceCall< ServiceType >, smacc2::client_behaviors::CbServiceCall< slam_toolbox::srv::Pause >, smacc2::client_behaviors::CbRosLaunch, smacc2::client_behaviors::CbSubscriptionCallbackBase< TMsg >, smacc2::client_behaviors::CbWaitActionServer, smacc2::client_behaviors::CbWaitNode, smacc2::client_behaviors::CbWaitTopicMessage< TMessage >, smacc2::SmaccClientBehavior, cl_move_group_interface::CbAttachObject, cl_move_group_interface::CbDetachObject, cl_move_group_interface::CbEndEffectorRotate, cl_move_group_interface::CbExecuteLastTrajectory, cl_move_group_interface::CbMoveCartesianRelative, cl_move_group_interface::CbMoveEndEffector, cl_move_group_interface::CbMoveEndEffectorRelative, cl_move_group_interface::CbMoveEndEffectorTrajectory, cl_move_group_interface::CbMoveJoints, cl_move_group_interface::CbMoveKnownState, cl_move_group_interface::CbMoveLastTrajectoryInitialState, cl_move_group_interface::CbMoveNamedTarget, cl_move_group_interface::CbUndoLastTrajectory, cl_multirole_sensor::CbDefaultMultiRoleSensorBehavior< ClientType >, cl_multirole_sensor::CbDefaultMultiRoleSensorBehavior< ClLidarSensor >, cl_multirole_sensor::CbDefaultMultiRoleSensorBehavior< ClTemperatureSensor >, cl_nav2z::CbAbsoluteRotate, cl_nav2z::CbNavigateBackwards, cl_nav2z::CbNavigateForward, cl_nav2z::CbNavigateGlobalPosition, cl_nav2z::CbNavigateNextWaypoint, cl_nav2z::CbPauseSlam, cl_nav2z::CbResumeSlam, cl_nav2z::CbRotate, cl_nav2z::CbUndoPathBackwards, cl_nav2z::CbWaitNav2Nodes, cl_nav2z::CbWaitPose, cl_nav2z::CbWaitTransform, cl_ros_publisher::CbDefaultPublishLoop, cl_ros_publisher::CbMutedBehavior< RosMsgType >, cl_ros_publisher::CbPublishOnce< RosMsgType >, cl_ros_timer::CbTimer, cl_ros_timer::CbTimer, cl_ros_timer::CbTimerCountdownLoop, cl_ros_timer::CbTimerCountdownLoop, cl_ros_timer::CbTimerCountdownOnce, cl_ros_timer::CbTimerCountdownOnce, cl_ros_timer::CbTimer, cl_ros_timer::CbTimerCountdownLoop, cl_ros_timer::CbTimerCountdownOnce, sm_autoware_avp::clients::autoware_client::CbNavigateGlobalPosition, sm_autoware_avp::clients::autoware_client::CbSetupInitialPoseEstimation, sm_dance_bot::cl_led::CbLEDOff, sm_dance_bot::cl_led::CbLEDOn, sm_dance_bot::cl_lidar::CbLidarSensor, sm_dance_bot::cl_service3::CbService3, sm_dance_bot::cl_temperature_sensor::CbConditionTemperatureSensor, sm_dance_bot_strikes_back::cl_led::CbLEDOff, sm_dance_bot_strikes_back::cl_led::CbLEDOn, sm_dance_bot_strikes_back::cl_lidar::CbLidarSensor, sm_dance_bot_strikes_back::cl_service3::CbService3, sm_dance_bot_strikes_back::cl_temperature_sensor::CbConditionTemperatureSensor, sm_dance_bot_warehouse::cl_led::CbLEDOff, sm_dance_bot_warehouse::cl_led::CbLEDOn, sm_dance_bot_warehouse::cl_lidar::CbLidarSensor, sm_dance_bot_warehouse::cl_service3::CbService3, sm_dance_bot_warehouse::cl_temperature_sensor::CbConditionTemperatureSensor, sm_dance_bot_warehouse_2::cl_led::CbLEDOff, sm_dance_bot_warehouse_2::cl_led::CbLEDOn, sm_dance_bot_warehouse_2::cl_lidar::CbLidarSensor, sm_dance_bot_warehouse_2::cl_service3::CbService3, sm_dance_bot_warehouse_2::cl_temperature_sensor::CbConditionTemperatureSensor, sm_dance_bot_warehouse_3::cl_led::CbLEDOff, sm_dance_bot_warehouse_3::cl_led::CbLEDOn, sm_dance_bot_warehouse_3::cl_lidar::CbLidarSensor, sm_dance_bot_warehouse_3::cl_nav2zclient::CbPureSpinning, sm_dance_bot_warehouse_3::cl_service3::CbService3, sm_dance_bot_warehouse_3::cl_temperature_sensor::CbConditionTemperatureSensor, sm_husky_barrel_search_1::cl_led_array::CbLEDOff, and sm_husky_barrel_search_1::cl_led_array::CbLEDOn.

Definition at line 49 of file smacc_client_behavior_base.hpp.

49{}

Referenced by executeOnEntry(), and smacc2::SmaccAsyncClientBehavior::executeOnEntry().

Here is the caller graph for this function:

◆ onExit()

virtual void smacc2::ISmaccClientBehavior::onExit ( )
inlineprotectedvirtual

Reimplemented in cl_multirole_sensor::CbDefaultMultiRoleSensorBehavior< ClientType >, cl_multirole_sensor::CbDefaultMultiRoleSensorBehavior< ClLidarSensor >, cl_multirole_sensor::CbDefaultMultiRoleSensorBehavior< ClTemperatureSensor >, smacc2::SmaccClientBehavior, cl_move_group_interface::CbAttachObject, cl_move_group_interface::CbDetachObject, cl_move_group_interface::CbMoveCartesianRelative, cl_move_group_interface::CbMoveEndEffectorRelative, cl_move_group_interface::CbMoveEndEffectorTrajectory, cl_move_group_interface::CbMoveJoints, cl_move_group_interface::CbMoveNamedTarget, cl_nav2z::CbAbsoluteRotate, cl_nav2z::CbNavigateBackwards, cl_nav2z::CbNavigateForward, cl_nav2z::CbNavigateGlobalPosition, cl_nav2z::CbNavigateNextWaypoint, cl_nav2z::CbUndoPathBackwards, cl_ros_publisher::CbDefaultPublishLoop, cl_ros_publisher::CbMutedBehavior< RosMsgType >, cl_ros_publisher::CbPublishOnce< RosMsgType >, cl_ros_timer::CbTimer, cl_ros_timer::CbTimerCountdownLoop, cl_ros_timer::CbTimerCountdownOnce, sm_autoware_avp::clients::autoware_client::CbNavigateGlobalPosition, sm_autoware_avp::clients::autoware_client::CbSetupInitialPoseEstimation, sm_dance_bot::cl_led::CbLEDOff, sm_dance_bot::cl_led::CbLEDOn, sm_dance_bot::cl_string_publisher::CbStringPublisher, sm_dance_bot_strikes_back::cl_led::CbLEDOff, sm_dance_bot_strikes_back::cl_led::CbLEDOn, sm_dance_bot_strikes_back::cl_string_publisher::CbStringPublisher, sm_dance_bot_warehouse::cl_led::CbLEDOff, sm_dance_bot_warehouse::cl_led::CbLEDOn, sm_dance_bot_warehouse::cl_string_publisher::CbStringPublisher, sm_dance_bot_warehouse_2::cl_led::CbLEDOff, sm_dance_bot_warehouse_2::cl_led::CbLEDOn, sm_dance_bot_warehouse_2::cl_string_publisher::CbStringPublisher, sm_dance_bot_warehouse_3::cl_led::CbLEDOff, sm_dance_bot_warehouse_3::cl_led::CbLEDOn, sm_dance_bot_warehouse_3::cl_nav2zclient::CbPureSpinning, sm_dance_bot_warehouse_3::cl_string_publisher::CbStringPublisher, sm_husky_barrel_search_1::cl_led_array::CbLEDOff, and sm_husky_barrel_search_1::cl_led_array::CbLEDOn.

Definition at line 51 of file smacc_client_behavior_base.hpp.

51{}

Referenced by executeOnExit(), and smacc2::SmaccAsyncClientBehavior::executeOnExit().

Here is the caller graph for this function:

◆ onOrthogonalAllocation()

template<typename TOrthogonal , typename TSourceObject >
void smacc2::ISmaccClientBehavior::onOrthogonalAllocation
private

Definition at line 89 of file smacc_client_behavior_impl.hpp.

90{
91}

◆ postEvent() [1/2]

template<typename EventType >
void smacc2::ISmaccClientBehavior::postEvent
protected

◆ postEvent() [2/2]

template<typename EventType >
void smacc2::ISmaccClientBehavior::postEvent ( const EventType &  ev)
protected

Definition at line 29 of file smacc_client_behavior_impl.hpp.

30{
31 if (stateMachine_ == nullptr)
32 {
33 RCLCPP_ERROR(
34 getLogger(),
35 "The client behavior cannot post events before being assigned to an orthogonal. Ignoring "
36 "post event call.");
37 }
38 else
39 {
41 }
42}
void postEvent(EventType *ev, EventLifeTime evlifetime=EventLifeTime::ABSOLUTE)

References smacc2::CURRENT_STATE, getLogger(), smacc2::ISmaccStateMachine::postEvent(), and stateMachine_.

Here is the call graph for this function:

◆ requiresClient()

template<typename SmaccClientType >
void smacc2::ISmaccClientBehavior::requiresClient ( SmaccClientType *&  storage)

Definition at line 67 of file smacc_client_behavior_impl.hpp.

68{
70}
smacc2::ISmaccOrthogonal * currentOrthogonal
bool requiresClient(SmaccClientType *&storage)

References currentOrthogonal, and smacc2::ISmaccOrthogonal::requiresClient().

Referenced by cl_keyboard::CbDefaultKeyboardBehavior::onEntry(), sm_dance_bot::cl_string_publisher::CbStringPublisher::onEntry(), sm_dance_bot_strikes_back::cl_string_publisher::CbStringPublisher::onEntry(), sm_dance_bot_warehouse::cl_string_publisher::CbStringPublisher::onEntry(), sm_dance_bot_warehouse_2::cl_string_publisher::CbStringPublisher::onEntry(), sm_dance_bot_warehouse_3::cl_string_publisher::CbStringPublisher::onEntry(), sm_ferrari::cl_subscriber::CbMySubscriberBehavior::onEntry(), sm_pubsub_1::cl_subscriber::CbMySubscriberBehavior::onEntry(), smacc2::client_behaviors::CbRosLaunch::onEntry(), smacc2::client_behaviors::CbSubscriptionCallbackBase< TMsg >::onEntry(), cl_move_group_interface::CbAttachObject::onEntry(), cl_move_group_interface::CbDetachObject::onEntry(), cl_move_group_interface::CbEndEffectorRotate::onEntry(), cl_move_group_interface::CbExecuteLastTrajectory::onEntry(), cl_move_group_interface::CbMoveCartesianRelative::onEntry(), cl_move_group_interface::CbMoveEndEffector::onEntry(), cl_move_group_interface::CbMoveEndEffectorRelative::onEntry(), cl_move_group_interface::CbMoveEndEffectorTrajectory::onEntry(), cl_move_group_interface::CbMoveJoints::onEntry(), cl_move_group_interface::CbMoveNamedTarget::onEntry(), cl_move_group_interface::CbUndoLastTrajectory::onEntry(), cl_multirole_sensor::CbDefaultMultiRoleSensorBehavior< ClientType >::onEntry(), cl_nav2z::CbRotate::onEntry(), cl_ros_publisher::CbDefaultPublishLoop::onEntry(), cl_ros_publisher::CbPublishOnce< RosMsgType >::onEntry(), cl_ros_timer::CbTimer::onEntry(), cl_ros_timer::CbTimerCountdownLoop::onEntry(), cl_ros_timer::CbTimerCountdownOnce::onEntry(), sm_autoware_avp::clients::autoware_client::CbNavigateGlobalPosition::onEntry(), sm_autoware_avp::clients::autoware_client::CbSetupInitialPoseEstimation::onEntry(), sm_dance_bot::cl_led::CbLEDOff::onEntry(), sm_dance_bot::cl_led::CbLEDOn::onEntry(), sm_dance_bot::cl_service3::CbService3::onEntry(), sm_dance_bot_strikes_back::cl_led::CbLEDOff::onEntry(), sm_dance_bot_strikes_back::cl_led::CbLEDOn::onEntry(), sm_dance_bot_strikes_back::cl_service3::CbService3::onEntry(), sm_dance_bot_warehouse::cl_led::CbLEDOff::onEntry(), sm_dance_bot_warehouse::cl_led::CbLEDOn::onEntry(), sm_dance_bot_warehouse::cl_service3::CbService3::onEntry(), sm_dance_bot_warehouse_2::cl_led::CbLEDOff::onEntry(), sm_dance_bot_warehouse_2::cl_led::CbLEDOn::onEntry(), sm_dance_bot_warehouse_2::cl_service3::CbService3::onEntry(), sm_dance_bot_warehouse_3::cl_led::CbLEDOff::onEntry(), sm_dance_bot_warehouse_3::cl_led::CbLEDOn::onEntry(), sm_dance_bot_warehouse_3::cl_service3::CbService3::onEntry(), sm_husky_barrel_search_1::cl_led_array::CbLEDOff::onEntry(), sm_husky_barrel_search_1::cl_led_array::CbLEDOn::onEntry(), smacc2::client_behaviors::CbWaitActionServer::onOrthogonalAllocation(), cl_nav2z::CbNav2ZClientBehaviorBase::onOrthogonalAllocation(), and cl_nav2z::CbWaitPose::onOrthogonalAllocation().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ requiresComponent()

template<typename SmaccComponentType >
void smacc2::ISmaccClientBehavior::requiresComponent ( SmaccComponentType *&  storage)

Definition at line 73 of file smacc_client_behavior_impl.hpp.

74{
75 if (stateMachine_ == nullptr)
76 {
77 RCLCPP_ERROR(
78 getLogger(),
79 "Cannot use the requiresComponent funcionality before assigning the client behavior to an "
80 "orthogonal. Try using the OnEntry method to capture required components.");
81 }
82 else
83 {
85 }
86}
void requiresComponent(SmaccComponentType *&storage)

References getLogger(), smacc2::ISmaccStateMachine::requiresComponent(), and stateMachine_.

Referenced by cl_move_group_interface::CbAttachObject::onEntry(), cl_move_group_interface::CbDetachObject::onEntry(), cl_move_group_interface::CbExecuteLastTrajectory::onEntry(), cl_move_group_interface::CbMoveEndEffectorTrajectory::onEntry(), cl_move_group_interface::CbMoveLastTrajectoryInitialState::onEntry(), cl_move_group_interface::CbUndoLastTrajectory::onEntry(), cl_nav2z::CbPauseSlam::onEntry(), cl_nav2z::CbResumeSlam::onEntry(), and sm_dance_bot_warehouse_3::cl_nav2zclient::CbPureSpinning::onEntry().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ runtimeConfigure()

void smacc2::ISmaccClientBehavior::runtimeConfigure ( )
protectedvirtual

Friends And Related Function Documentation

◆ ISmaccAsynchronousClientBehavior

friend class ISmaccAsynchronousClientBehavior
friend

Definition at line 86 of file smacc_client_behavior_base.hpp.

◆ ISmaccOrthogonal

friend class ISmaccOrthogonal
friend

Definition at line 85 of file smacc_client_behavior_base.hpp.

◆ ISmaccState

friend class ISmaccState
friend

Definition at line 84 of file smacc_client_behavior_base.hpp.

Member Data Documentation

◆ currentOrthogonal

smacc2::ISmaccOrthogonal* smacc2::ISmaccClientBehavior::currentOrthogonal
private

Definition at line 82 of file smacc_client_behavior_base.hpp.

Referenced by requiresClient().

◆ currentState

ISmaccState* smacc2::ISmaccClientBehavior::currentState
private

◆ stateMachine_

ISmaccStateMachine* smacc2::ISmaccClientBehavior::stateMachine_
private

The documentation for this class was generated from the following files: