SMACC2
Loading...
Searching...
No Matches
cl_nav2z::CbNav2ZClientBehaviorBase Class Reference

#include <cb_nav2z_client_behavior_base.hpp>

Inheritance diagram for cl_nav2z::CbNav2ZClientBehaviorBase:
Inheritance graph
Collaboration diagram for cl_nav2z::CbNav2ZClientBehaviorBase:
Collaboration graph

Public Member Functions

virtual ~CbNav2ZClientBehaviorBase ()
 
template<typename TOrthogonal , typename TSourceObject >
void onStateOrthogonalAllocation ()
 
- Public Member Functions inherited from smacc2::SmaccAsyncClientBehavior
template<typename TOrthogonal , typename TSourceObject >
void onStateOrthogonalAllocation ()
 
virtual ~SmaccAsyncClientBehavior ()
 
template<typename TCallback , typename T >
boost::signals2::connection onSuccess (TCallback callback, T *object)
 
template<typename TCallback , typename T >
boost::signals2::connection onFinished (TCallback callback, T *object)
 
template<typename TCallback , typename T >
boost::signals2::connection onFailure (TCallback callback, T *object)
 
void requestForceFinish ()
 
void executeOnEntry () override
 
void executeOnExit () override
 
void waitOnEntryThread (bool requestFinish)
 
template<typename TCallbackMethod , typename T >
boost::signals2::connection onSuccess (TCallbackMethod callback, T *object)
 
template<typename TCallbackMethod , typename T >
boost::signals2::connection onFinished (TCallbackMethod callback, T *object)
 
template<typename TCallbackMethod , typename T >
boost::signals2::connection onFailure (TCallbackMethod callback, T *object)
 
- Public Member Functions inherited from smacc2::ISmaccClientBehavior
 ISmaccClientBehavior ()
 
virtual ~ISmaccClientBehavior ()
 
ISmaccStateMachinegetStateMachine ()
 
std::string getName () const
 
template<typename SmaccClientType >
void requiresClient (SmaccClientType *&storage)
 
template<typename SmaccComponentType >
void requiresComponent (SmaccComponentType *&storage, ComponentRequirement requirementType=ComponentRequirement::SOFT)
 
virtual void onEntry ()
 
virtual void onExit ()
 

Protected Member Functions

void sendGoal (nav2_msgs::action::NavigateToPose::Goal &goal)
 
void cancelGoal ()
 
template<typename T >
boost::signals2::connection onNavigationSucceeded (void(T::*callback)(const components::CpNav2ActionInterface::WrappedResult &), T *object)
 
template<typename T >
boost::signals2::connection onNavigationAborted (void(T::*callback)(const components::CpNav2ActionInterface::WrappedResult &), T *object)
 
template<typename T >
boost::signals2::connection onNavigationCancelled (void(T::*callback)(const components::CpNav2ActionInterface::WrappedResult &), T *object)
 
virtual void onNavigationResult (const components::CpNav2ActionInterface::WrappedResult &)
 
virtual void onNavigationActionSuccess (const components::CpNav2ActionInterface::WrappedResult &)
 
virtual void onNavigationActionAbort (const components::CpNav2ActionInterface::WrappedResult &)
 
- Protected Member Functions inherited from smacc2::SmaccAsyncClientBehavior
void postSuccessEvent ()
 
void postFailureEvent ()
 
virtual void dispose () override
 
bool isShutdownRequested ()
 onEntry is executed in a new thread. However the current state cannot be left until the onEntry thread finishes. This flag can be checked from the onEntry thread to force finishing the thread.
 
- Protected Member Functions inherited from smacc2::ISmaccClientBehavior
virtual void runtimeConfigure ()
 
template<typename EventType >
void postEvent (const EventType &ev)
 
template<typename EventType >
void postEvent ()
 
ISmaccStategetCurrentState ()
 
virtual rclcpp::Node::SharedPtr getNode () const
 
virtual rclcpp::Logger getLogger () const
 

Protected Attributes

components::CpNav2ActionInterfacenav2ActionInterface_ = nullptr
 
smacc2::client_core_components::CpActionClient< nav2_msgs::action::NavigateToPose > * actionClient_ = nullptr
 
rclcpp_action::ResultCode navigationResult_
 

Detailed Description

Definition at line 31 of file cb_nav2z_client_behavior_base.hpp.

Constructor & Destructor Documentation

◆ ~CbNav2ZClientBehaviorBase()

cl_nav2z::CbNav2ZClientBehaviorBase::~CbNav2ZClientBehaviorBase ( )
virtual

Definition at line 25 of file cb_nav2z_client_behavior_base.cpp.

25{}

Member Function Documentation

◆ cancelGoal()

void cl_nav2z::CbNav2ZClientBehaviorBase::cancelGoal ( )
inlineprotected

◆ onNavigationAborted()

template<typename T >
boost::signals2::connection cl_nav2z::CbNav2ZClientBehaviorBase::onNavigationAborted ( void(T::* callback )(const components::CpNav2ActionInterface::WrappedResult &),
T * object )
inlineprotected

Definition at line 77 of file cb_nav2z_client_behavior_base.hpp.

79 {
81 {
82 return nav2ActionInterface_->onNavigationAborted(callback, object);
83 }
84 return boost::signals2::connection();
85 }
boost::signals2::connection onNavigationAborted(void(T::*callback)(const WrappedResult &), T *object)

References nav2ActionInterface_, and cl_nav2z::components::CpNav2ActionInterface::onNavigationAborted().

Here is the call graph for this function:

◆ onNavigationActionAbort()

virtual void cl_nav2z::CbNav2ZClientBehaviorBase::onNavigationActionAbort ( const components::CpNav2ActionInterface::WrappedResult & )
inlineprotectedvirtual

Definition at line 117 of file cb_nav2z_client_behavior_base.hpp.

117{}

◆ onNavigationActionSuccess()

virtual void cl_nav2z::CbNav2ZClientBehaviorBase::onNavigationActionSuccess ( const components::CpNav2ActionInterface::WrappedResult & )
inlineprotectedvirtual

Reimplemented in cl_nav2z::CbNavigateNextWaypointUntilReached.

Definition at line 114 of file cb_nav2z_client_behavior_base.hpp.

115 {
116 }

◆ onNavigationCancelled()

template<typename T >
boost::signals2::connection cl_nav2z::CbNav2ZClientBehaviorBase::onNavigationCancelled ( void(T::* callback )(const components::CpNav2ActionInterface::WrappedResult &),
T * object )
inlineprotected

Definition at line 88 of file cb_nav2z_client_behavior_base.hpp.

90 {
92 {
93 return nav2ActionInterface_->onNavigationCancelled(callback, object);
94 }
95 return boost::signals2::connection();
96 }
boost::signals2::connection onNavigationCancelled(void(T::*callback)(const WrappedResult &), T *object)

References nav2ActionInterface_, and cl_nav2z::components::CpNav2ActionInterface::onNavigationCancelled().

Here is the call graph for this function:

◆ onNavigationResult()

virtual void cl_nav2z::CbNav2ZClientBehaviorBase::onNavigationResult ( const components::CpNav2ActionInterface::WrappedResult & )
inlineprotectedvirtual

Definition at line 113 of file cb_nav2z_client_behavior_base.hpp.

113{}

◆ onNavigationSucceeded()

template<typename T >
boost::signals2::connection cl_nav2z::CbNav2ZClientBehaviorBase::onNavigationSucceeded ( void(T::* callback )(const components::CpNav2ActionInterface::WrappedResult &),
T * object )
inlineprotected

Definition at line 66 of file cb_nav2z_client_behavior_base.hpp.

68 {
70 {
71 return nav2ActionInterface_->onNavigationSucceeded(callback, object);
72 }
73 return boost::signals2::connection();
74 }
boost::signals2::connection onNavigationSucceeded(void(T::*callback)(const WrappedResult &), T *object)

References nav2ActionInterface_, and cl_nav2z::components::CpNav2ActionInterface::onNavigationSucceeded().

Here is the call graph for this function:

◆ onStateOrthogonalAllocation()

template<typename TOrthogonal , typename TSourceObject >
void cl_nav2z::CbNav2ZClientBehaviorBase::onStateOrthogonalAllocation ( )
inline

Definition at line 37 of file cb_nav2z_client_behavior_base.hpp.

38 {
39 // NEW: Pure component-based approach - no client dependencies
40 this->requiresComponent(nav2ActionInterface_, ComponentRequirement::HARD);
41 this->requiresComponent(actionClient_, ComponentRequirement::HARD);
42
44 }
smacc2::client_core_components::CpActionClient< nav2_msgs::action::NavigateToPose > * actionClient_
void requiresComponent(SmaccComponentType *&storage, ComponentRequirement requirementType=ComponentRequirement::SOFT)

References actionClient_, nav2ActionInterface_, smacc2::SmaccAsyncClientBehavior::onStateOrthogonalAllocation(), and smacc2::ISmaccClientBehavior::requiresComponent().

Here is the call graph for this function:

◆ sendGoal()

void cl_nav2z::CbNav2ZClientBehaviorBase::sendGoal ( nav2_msgs::action::NavigateToPose::Goal & goal)
inlineprotected

Member Data Documentation

◆ actionClient_

smacc2::client_core_components::CpActionClient<nav2_msgs::action::NavigateToPose>* cl_nav2z::CbNav2ZClientBehaviorBase::actionClient_ = nullptr
protected

Definition at line 101 of file cb_nav2z_client_behavior_base.hpp.

Referenced by onStateOrthogonalAllocation().

◆ nav2ActionInterface_

components::CpNav2ActionInterface* cl_nav2z::CbNav2ZClientBehaviorBase::nav2ActionInterface_ = nullptr
protected

◆ navigationResult_

rclcpp_action::ResultCode cl_nav2z::CbNav2ZClientBehaviorBase::navigationResult_
protected

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