SMACC2
Loading...
Searching...
No Matches
smacc2::client_bases::SmaccActionClientBase< ActionType > Class Template Reference

#include <smacc_action_client_base.hpp>

Inheritance diagram for smacc2::client_bases::SmaccActionClientBase< ActionType >:
Inheritance graph
Collaboration diagram for smacc2::client_bases::SmaccActionClientBase< ActionType >:
Collaboration graph

Public Types

typedef rclcpp_action::Client< ActionType > ActionClient
 
using Goal = typename ActionClient::Goal
 
using Feedback = typename ActionClient::Feedback
 
using GoalHandle = rclcpp_action::ClientGoalHandle<ActionType>
 
typedef GoalHandle::WrappedResult WrappedResult
 
using SendGoalOptions = typename ActionClient::SendGoalOptions
 
using GoalResponseCallback
 
using FeedbackCallback = typename GoalHandle::FeedbackCallback
 
using ResultCallback = typename GoalHandle::ResultCallback
 
using CancelRequest = typename ActionType::Impl::CancelGoalService::Request
 
using CancelResponse = typename ActionType::Impl::CancelGoalService::Response
 
using CancelCallback = std::function<void(typename CancelResponse::SharedPtr)>
 
typedef smacc2::SmaccSignal< void(const WrappedResult &)> SmaccActionResultSignal
 

Public Member Functions

 SmaccActionClientBase (std::string actionServerName)
 
 SmaccActionClientBase ()
 
virtual ~SmaccActionClientBase ()
 
virtual std::shared_ptr< rclcpp_action::ClientBase > getClientBase () override
 
void onInitialize () override
 
void waitForServer ()
 
template<typename EvType >
void postResultEvent (WrappedResult &)
 
template<typename TOrthogonal , typename TSourceObject >
void onStateOrthogonalAllocation ()
 
template<typename T >
smacc2::SmaccSignalConnection onSucceeded (void(T::*callback)(WrappedResult &), T *object)
 
template<typename T >
smacc2::SmaccSignalConnection onSucceeded (std::function< void(WrappedResult &)> callback)
 
template<typename T >
smacc2::SmaccSignalConnection onAborted (void(T::*callback)(WrappedResult &), T *object)
 
template<typename T >
smacc2::SmaccSignalConnection onAborted (std::function< void(WrappedResult &)> callback)
 
template<typename T >
smacc2::SmaccSignalConnection onCancelled (void(T::*callback)(WrappedResult &), T *object)
 
template<typename T >
smacc2::SmaccSignalConnection onCancelled (std::function< void(WrappedResult &)> callback)
 
virtual bool cancelGoal () override
 
std::shared_future< typename GoalHandle::SharedPtr > sendGoal (Goal &goal, typename SmaccActionResultSignal::WeakPtr resultCallback=typename SmaccActionResultSignal::WeakPtr())
 
- Public Member Functions inherited from smacc2::client_bases::ISmaccActionClient
 ISmaccActionClient ()
 
virtual ~ISmaccActionClient ()
 
std::string getNamespace () const
 
virtual std::string getName () const
 
- Public Member Functions inherited from smacc2::ISmaccClient
 ISmaccClient ()
 
virtual ~ISmaccClient ()
 
template<typename TComponent >
TComponent * getComponent ()
 
template<typename TComponent >
TComponent * getComponent (std::string name)
 
template<typename TComponent >
TComponent * getComponent (int index)
 
virtual smacc2::introspection::TypeInfo::Ptr getType ()
 
ISmaccStateMachinegetStateMachine ()
 
template<typename TSmaccSignal , typename T >
void connectSignal (TSmaccSignal &signal, void(T::*callback)(), T *object)
 
template<typename SmaccClientType >
void requiresClient (SmaccClientType *&storage)
 
void getComponents (std::vector< std::shared_ptr< ISmaccComponent > > &components)
 
const std::vector< std::shared_ptr< ISmaccComponent > > & iterateComponents () const
 
template<typename EventType >
void postEvent (const EventType &ev)
 
template<typename EventType >
void postEvent ()
 

Static Public Member Functions

static std::string getEventLabel ()
 

Public Attributes

std::string action_endpoint_
 
std::optional< std::shared_future< typename GoalHandle::SharedPtr > > lastRequest_
 
std::optional< std::shared_future< typename CancelResponse::SharedPtr > > lastCancelResponse_
 
SmaccActionResultSignal onSucceeded_
 
SmaccActionResultSignal onAborted_
 
SmaccActionResultSignal onCancelled_
 
std::function< void(WrappedResult)> postSuccessEvent
 
std::function< void(WrappedResult)> postAbortedEvent
 
std::function< void(WrappedResult)> postCancelledEvent
 
std::function< void(const Feedback &)> postFeedbackEvent
 
FeedbackCallback feedback_cb
 

Protected Member Functions

void onFeedback (typename GoalHandle::SharedPtr, const std::shared_ptr< const Feedback > feedback_msg)
 
void onResult (const WrappedResult &result_msg)
 
- Protected Member Functions inherited from smacc2::ISmaccClient
template<typename TOrthogonal , typename TClient >
void onComponentInitialization ()
 
template<typename TOrthogonal , typename TSourceObject >
void onStateOrthogonalAllocation ()
 
template<typename SmaccComponentType , typename TOrthogonal , typename TClient , typename... TArgs>
SmaccComponentType * createComponent (TArgs... targs)
 
template<typename SmaccComponentType , typename TOrthogonal , typename TClient , typename... TArgs>
SmaccComponentType * createNamedComponent (std::string name, TArgs... targs)
 
rclcpp::Node::SharedPtr getNode ()
 
rclcpp::Logger getLogger ()
 

Protected Attributes

ActionClient::SharedPtr client_
 
- Protected Attributes inherited from smacc2::client_bases::ISmaccActionClient
std::string name_
 
- Protected Attributes inherited from smacc2::ISmaccClient
std::map< ComponentKey, std::shared_ptr< smacc2::ISmaccComponent > > components_
 

Detailed Description

template<typename ActionType>
class smacc2::client_bases::SmaccActionClientBase< ActionType >

Definition at line 37 of file smacc_action_client_base.hpp.

Member Typedef Documentation

◆ ActionClient

template<typename ActionType >
rclcpp_action::Client<ActionType> smacc2::client_bases::SmaccActionClientBase< ActionType >::ActionClient

Definition at line 41 of file smacc_action_client_base.hpp.

◆ CancelCallback

template<typename ActionType >
using smacc2::client_bases::SmaccActionClientBase< ActionType >::CancelCallback = std::function<void(typename CancelResponse::SharedPtr)>

Definition at line 55 of file smacc_action_client_base.hpp.

◆ CancelRequest

template<typename ActionType >
using smacc2::client_bases::SmaccActionClientBase< ActionType >::CancelRequest = typename ActionType::Impl::CancelGoalService::Request

Definition at line 53 of file smacc_action_client_base.hpp.

◆ CancelResponse

template<typename ActionType >
using smacc2::client_bases::SmaccActionClientBase< ActionType >::CancelResponse = typename ActionType::Impl::CancelGoalService::Response

Definition at line 54 of file smacc_action_client_base.hpp.

◆ Feedback

template<typename ActionType >
using smacc2::client_bases::SmaccActionClientBase< ActionType >::Feedback = typename ActionClient::Feedback

Definition at line 44 of file smacc_action_client_base.hpp.

◆ FeedbackCallback

template<typename ActionType >
using smacc2::client_bases::SmaccActionClientBase< ActionType >::FeedbackCallback = typename GoalHandle::FeedbackCallback

Definition at line 51 of file smacc_action_client_base.hpp.

◆ Goal

template<typename ActionType >
using smacc2::client_bases::SmaccActionClientBase< ActionType >::Goal = typename ActionClient::Goal

Definition at line 43 of file smacc_action_client_base.hpp.

◆ GoalHandle

template<typename ActionType >
using smacc2::client_bases::SmaccActionClientBase< ActionType >::GoalHandle = rclcpp_action::ClientGoalHandle<ActionType>

Definition at line 45 of file smacc_action_client_base.hpp.

◆ GoalResponseCallback

template<typename ActionType >
using smacc2::client_bases::SmaccActionClientBase< ActionType >::GoalResponseCallback
Initial value:
std::function<void(std::shared_future<typename GoalHandle::SharedPtr>)>

Definition at line 49 of file smacc_action_client_base.hpp.

◆ ResultCallback

template<typename ActionType >
using smacc2::client_bases::SmaccActionClientBase< ActionType >::ResultCallback = typename GoalHandle::ResultCallback

Definition at line 52 of file smacc_action_client_base.hpp.

◆ SendGoalOptions

template<typename ActionType >
using smacc2::client_bases::SmaccActionClientBase< ActionType >::SendGoalOptions = typename ActionClient::SendGoalOptions

Definition at line 48 of file smacc_action_client_base.hpp.

◆ SmaccActionResultSignal

template<typename ActionType >
smacc2::SmaccSignal<void(const WrappedResult &)> smacc2::client_bases::SmaccActionClientBase< ActionType >::SmaccActionResultSignal

Definition at line 57 of file smacc_action_client_base.hpp.

◆ WrappedResult

template<typename ActionType >
GoalHandle::WrappedResult smacc2::client_bases::SmaccActionClientBase< ActionType >::WrappedResult

Definition at line 46 of file smacc_action_client_base.hpp.

Constructor & Destructor Documentation

◆ SmaccActionClientBase() [1/2]

template<typename ActionType >
smacc2::client_bases::SmaccActionClientBase< ActionType >::SmaccActionClientBase ( std::string actionServerName)
inline

◆ SmaccActionClientBase() [2/2]

template<typename ActionType >
smacc2::client_bases::SmaccActionClientBase< ActionType >::SmaccActionClientBase ( )
inline

◆ ~SmaccActionClientBase()

template<typename ActionType >
virtual smacc2::client_bases::SmaccActionClientBase< ActionType >::~SmaccActionClientBase ( )
inlinevirtual

Definition at line 67 of file smacc_action_client_base.hpp.

67{}

Member Function Documentation

◆ cancelGoal()

template<typename ActionType >
virtual bool smacc2::client_bases::SmaccActionClientBase< ActionType >::cancelGoal ( )
inlineoverridevirtual

Implements smacc2::client_bases::ISmaccActionClient.

Definition at line 184 of file smacc_action_client_base.hpp.

185 {
186 lastCancelResponse_ = this->client_->async_cancel_all_goals();
187
188 return true;
189 }
std::optional< std::shared_future< typename CancelResponse::SharedPtr > > lastCancelResponse_

References smacc2::client_bases::SmaccActionClientBase< ActionType >::client_, and smacc2::client_bases::SmaccActionClientBase< ActionType >::lastCancelResponse_.

◆ getClientBase()

template<typename ActionType >
virtual std::shared_ptr< rclcpp_action::ClientBase > smacc2::client_bases::SmaccActionClientBase< ActionType >::getClientBase ( )
inlineoverridevirtual

◆ getEventLabel()

template<typename ActionType >
static std::string smacc2::client_bases::SmaccActionClientBase< ActionType >::getEventLabel ( )
inlinestatic

Definition at line 89 of file smacc_action_client_base.hpp.

90 {
92 return type->getNonTemplatedTypeName();
93 }
static TypeInfo::Ptr getTypeInfoFromType()

References smacc2::introspection::TypeInfo::getTypeInfoFromType().

Here is the call graph for this function:

◆ onAborted() [1/2]

template<typename ActionType >
template<typename T >
smacc2::SmaccSignalConnection smacc2::client_bases::SmaccActionClientBase< ActionType >::onAborted ( std::function< void(WrappedResult &)> callback)
inline

Definition at line 167 of file smacc_action_client_base.hpp.

168 {
169 return this->getStateMachine()->createSignalConnection(onAborted_, callback);
170 }
ISmaccStateMachine * getStateMachine()
smacc2::SmaccSignalConnection createSignalConnection(TSmaccSignal &signal, TMemberFunctionPrototype callback, TSmaccObjectType *object)

References smacc2::ISmaccStateMachine::createSignalConnection(), and smacc2::ISmaccClient::getStateMachine().

Here is the call graph for this function:

◆ onAborted() [2/2]

template<typename ActionType >
template<typename T >
smacc2::SmaccSignalConnection smacc2::client_bases::SmaccActionClientBase< ActionType >::onAborted ( void(T::* callback )(WrappedResult &),
T * object )
inline

Definition at line 161 of file smacc_action_client_base.hpp.

162 {
163 return this->getStateMachine()->createSignalConnection(onAborted_, callback, object);
164 }

References smacc2::ISmaccStateMachine::createSignalConnection(), and smacc2::ISmaccClient::getStateMachine().

Here is the call graph for this function:

◆ onCancelled() [1/2]

template<typename ActionType >
template<typename T >
smacc2::SmaccSignalConnection smacc2::client_bases::SmaccActionClientBase< ActionType >::onCancelled ( std::function< void(WrappedResult &)> callback)
inline

Definition at line 179 of file smacc_action_client_base.hpp.

180 {
181 return this->getStateMachine()->createSignalConnection(onCancelled_, callback);
182 }

References smacc2::ISmaccStateMachine::createSignalConnection(), and smacc2::ISmaccClient::getStateMachine().

Here is the call graph for this function:

◆ onCancelled() [2/2]

template<typename ActionType >
template<typename T >
smacc2::SmaccSignalConnection smacc2::client_bases::SmaccActionClientBase< ActionType >::onCancelled ( void(T::* callback )(WrappedResult &),
T * object )
inline

Definition at line 173 of file smacc_action_client_base.hpp.

174 {
175 return this->getStateMachine()->createSignalConnection(onCancelled_, callback, object);
176 }

References smacc2::ISmaccStateMachine::createSignalConnection(), and smacc2::ISmaccClient::getStateMachine().

Here is the call graph for this function:

◆ onFeedback()

template<typename ActionType >
void smacc2::client_bases::SmaccActionClientBase< ActionType >::onFeedback ( typename GoalHandle::SharedPtr ,
const std::shared_ptr< const Feedback > feedback_msg )
inlineprotected

Definition at line 245 of file smacc_action_client_base.hpp.

248 {
249 postFeedbackEvent(*feedback_msg);
250 }
std::function< void(const Feedback &)> postFeedbackEvent

References smacc2::client_bases::SmaccActionClientBase< ActionType >::postFeedbackEvent.

Referenced by smacc2::client_bases::SmaccActionClientBase< ActionType >::onStateOrthogonalAllocation().

Here is the caller graph for this function:

◆ onInitialize()

template<typename ActionType >
void smacc2::client_bases::SmaccActionClientBase< ActionType >::onInitialize ( )
inlineoverridevirtual

Reimplemented from smacc2::ISmaccClient.

Definition at line 71 of file smacc_action_client_base.hpp.

72 {
73 if (name_ == "") name_ = smacc2::demangleSymbol(typeid(*this).name());
74 this->client_ = rclcpp_action::create_client<ActionType>(getNode(), action_endpoint_);
75 // RCLCPP_INFO_STREAM(
76 // this->getLogger(),
77 // "Waiting for action server '" << name_ << "' of type: " << demangledTypeName<ActionType>());
78 //client_->wait_for_action_server();
79 }
rclcpp::Node::SharedPtr getNode()
Definition client.cpp:60
std::string demangleSymbol()

References smacc2::client_bases::SmaccActionClientBase< ActionType >::action_endpoint_, smacc2::client_bases::SmaccActionClientBase< ActionType >::client_, smacc2::introspection::demangleSymbol(), smacc2::ISmaccClient::getNode(), and smacc2::client_bases::ISmaccActionClient::name_.

Here is the call graph for this function:

◆ onResult()

template<typename ActionType >
void smacc2::client_bases::SmaccActionClientBase< ActionType >::onResult ( const WrappedResult & result_msg)
inlineprotected

Definition at line 252 of file smacc_action_client_base.hpp.

253 {
254 const auto & resultType = result_msg.code;
255
256 RCLCPP_INFO_STREAM(
257 getLogger(), "[" << this->getName() << "] response result ["
258 << rclcpp_action::to_string(result_msg.goal_id) << "]: " << (int)resultType);
259
260 if (resultType == rclcpp_action::ResultCode::SUCCEEDED)
261 {
262 RCLCPP_INFO(getLogger(), "[%s] request result: Success", this->getName().c_str());
263 onSucceeded_(result_msg);
264 postSuccessEvent(result_msg);
265 }
266 else if (resultType == rclcpp_action::ResultCode::ABORTED)
267 {
268 RCLCPP_INFO(getLogger(), "[%s] request result: Aborted", this->getName().c_str());
269 onAborted_(result_msg);
270 postAbortedEvent(result_msg);
271 }
272 else if (resultType == rclcpp_action::ResultCode::CANCELED)
273 {
274 RCLCPP_INFO(getLogger(), "[%s] request result: Cancelled", this->getName().c_str());
275 onCancelled_(result_msg);
276 postCancelledEvent(result_msg);
277 }
278 else
279 {
280 RCLCPP_INFO(
281 getLogger(), "[%s] request result: NOT HANDLED TYPE: %d", this->getName().c_str(),
282 (int)resultType);
283 }
284 }
rclcpp::Logger getLogger()
std::function< void(WrappedResult)> postCancelledEvent
std::function< void(WrappedResult)> postSuccessEvent
std::function< void(WrappedResult)> postAbortedEvent

References smacc2::ISmaccClient::getLogger(), smacc2::client_bases::ISmaccActionClient::getName(), smacc2::client_bases::SmaccActionClientBase< ActionType >::onAborted_, smacc2::client_bases::SmaccActionClientBase< ActionType >::onCancelled_, smacc2::client_bases::SmaccActionClientBase< ActionType >::onSucceeded_, smacc2::client_bases::SmaccActionClientBase< ActionType >::postAbortedEvent, smacc2::client_bases::SmaccActionClientBase< ActionType >::postCancelledEvent, and smacc2::client_bases::SmaccActionClientBase< ActionType >::postSuccessEvent.

Referenced by smacc2::client_bases::SmaccActionClientBase< ActionType >::sendGoal().

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

◆ onStateOrthogonalAllocation()

template<typename ActionType >
template<typename TOrthogonal , typename TSourceObject >
void smacc2::client_bases::SmaccActionClientBase< ActionType >::onStateOrthogonalAllocation ( )
inline

Definition at line 125 of file smacc_action_client_base.hpp.

126 {
127 // we create here all the event factory functions capturing the TOrthogonal
128 postSuccessEvent = [this](auto msg)
130 postAbortedEvent = [this](auto msg)
132
133 postCancelledEvent = [this](auto msg)
135
136 postFeedbackEvent = [this](auto msg)
137 {
138 auto actionFeedbackEvent = new EvActionFeedback<Feedback, TOrthogonal>();
139 actionFeedbackEvent->client = this;
140 actionFeedbackEvent->feedbackMessage = msg;
141 this->postEvent(actionFeedbackEvent);
142 RCLCPP_DEBUG(getLogger(), "[%s] FEEDBACK EVENT", demangleType(typeid(*this)).c_str());
143 };
144
145 feedback_cb = [this](auto client, auto feedback) { this->onFeedback(client, feedback); };
146 }
void onFeedback(typename GoalHandle::SharedPtr, const std::shared_ptr< const Feedback > feedback_msg)
std::string demangleType(const std::type_info *tinfo)

References smacc2::introspection::demangleType(), smacc2::client_bases::SmaccActionClientBase< ActionType >::feedback_cb, smacc2::ISmaccClient::getLogger(), smacc2::client_bases::SmaccActionClientBase< ActionType >::onFeedback(), smacc2::client_bases::SmaccActionClientBase< ActionType >::postAbortedEvent, smacc2::client_bases::SmaccActionClientBase< ActionType >::postCancelledEvent, smacc2::ISmaccClient::postEvent(), smacc2::client_bases::SmaccActionClientBase< ActionType >::postFeedbackEvent, smacc2::client_bases::SmaccActionClientBase< ActionType >::postResultEvent(), and smacc2::client_bases::SmaccActionClientBase< ActionType >::postSuccessEvent.

Here is the call graph for this function:

◆ onSucceeded() [1/2]

template<typename ActionType >
template<typename T >
smacc2::SmaccSignalConnection smacc2::client_bases::SmaccActionClientBase< ActionType >::onSucceeded ( std::function< void(WrappedResult &)> callback)
inline

Definition at line 155 of file smacc_action_client_base.hpp.

156 {
157 return this->getStateMachine()->createSignalConnection(onSucceeded_, callback);
158 }

References smacc2::ISmaccStateMachine::createSignalConnection(), and smacc2::ISmaccClient::getStateMachine().

Here is the call graph for this function:

◆ onSucceeded() [2/2]

template<typename ActionType >
template<typename T >
smacc2::SmaccSignalConnection smacc2::client_bases::SmaccActionClientBase< ActionType >::onSucceeded ( void(T::* callback )(WrappedResult &),
T * object )
inline

Definition at line 149 of file smacc_action_client_base.hpp.

150 {
151 return this->getStateMachine()->createSignalConnection(onSucceeded_, callback, object);
152 }

References smacc2::ISmaccStateMachine::createSignalConnection(), and smacc2::ISmaccClient::getStateMachine().

Here is the call graph for this function:

◆ postResultEvent()

template<typename ActionType >
template<typename EvType >
void smacc2::client_bases::SmaccActionClientBase< ActionType >::postResultEvent ( WrappedResult & )
inline

Definition at line 116 of file smacc_action_client_base.hpp.

117 {
118 auto * ev = new EvType();
119 RCLCPP_INFO(
120 getLogger(), "Action client Posting EVENT %s", demangleSymbol(typeid(ev).name()).c_str());
121 this->postEvent(ev);
122 }

References smacc2::introspection::demangleSymbol(), smacc2::ISmaccClient::getLogger(), and smacc2::ISmaccClient::postEvent().

Referenced by smacc2::client_bases::SmaccActionClientBase< ActionType >::onStateOrthogonalAllocation().

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

◆ sendGoal()

template<typename ActionType >
std::shared_future< typename GoalHandle::SharedPtr > smacc2::client_bases::SmaccActionClientBase< ActionType >::sendGoal ( Goal & goal,
typename SmaccActionResultSignal::WeakPtr resultCallback = typename SmaccActionResultSignal::WeakPtr() )
inline

Definition at line 191 of file smacc_action_client_base.hpp.

194 {
195 SendGoalOptions options;
196
197 options.feedback_callback = feedback_cb;
198
199 options.result_callback =
200 [this, resultCallback](
201 const typename rclcpp_action::ClientGoalHandle<ActionType>::WrappedResult & result)
202 {
203 RCLCPP_INFO_STREAM(
204 getLogger(), "[" << getName() << "] Action result callback, getting shared future");
205 RCLCPP_INFO_STREAM(
206 getLogger(), "[" << getName() << "] Action client Result goal id: "
207 << rclcpp_action::to_string(result.goal_id));
208
209 auto resultCallbackPtr = resultCallback.lock();
210
211 if (resultCallbackPtr != nullptr)
212 {
213 RCLCPP_INFO_STREAM(
214 getLogger(), "[" << getName() << "] Result CB calling user callback:"
215 << demangleSymbol(typeid(*resultCallbackPtr).name()));
216 (*resultCallbackPtr)(result);
217 }
218 else
219 {
220 RCLCPP_INFO_STREAM(
221 getLogger(), "[" << getName() << "] Result CB calling default callback");
222 this->onResult(result);
223 }
224 };
225
226 RCLCPP_INFO_STREAM(
227 getLogger(), "[" << getName() << "] client ready clients: "
228 << this->client_->get_number_of_ready_clients());
229 RCLCPP_INFO_STREAM(
230 getLogger(),
231 "[" << getName() << "] Waiting it is ready? " << client_->action_server_is_ready());
232
233 RCLCPP_INFO_STREAM(getLogger(), getName() << ": async send goal.");
234 auto lastRequest = this->client_->async_send_goal(goal, options);
235 this->lastRequest_ = lastRequest;
236
237 RCLCPP_INFO_STREAM(getLogger(), "[" << getName() << "] Action request");
238
239 return lastRequest;
240 }
typename ActionClient::SendGoalOptions SendGoalOptions
void onResult(const WrappedResult &result_msg)
std::optional< std::shared_future< typename GoalHandle::SharedPtr > > lastRequest_

References smacc2::client_bases::SmaccActionClientBase< ActionType >::client_, smacc2::introspection::demangleSymbol(), smacc2::client_bases::SmaccActionClientBase< ActionType >::feedback_cb, smacc2::ISmaccClient::getLogger(), smacc2::client_bases::ISmaccActionClient::getName(), and smacc2::client_bases::SmaccActionClientBase< ActionType >::onResult().

Here is the call graph for this function:

◆ waitForServer()

template<typename ActionType >
void smacc2::client_bases::SmaccActionClientBase< ActionType >::waitForServer ( )
inline

Definition at line 81 of file smacc_action_client_base.hpp.

82 {
83 RCLCPP_INFO_STREAM(
84 this->getLogger(),
85 "Waiting for action server '" << name_ << "' of type: " << demangledTypeName<ActionType>());
86 client_->wait_for_action_server();
87 }
std::string demangledTypeName()

References smacc2::client_bases::SmaccActionClientBase< ActionType >::client_, smacc2::introspection::demangledTypeName(), smacc2::ISmaccClient::getLogger(), and smacc2::client_bases::ISmaccActionClient::name_.

Here is the call graph for this function:

Member Data Documentation

◆ action_endpoint_

◆ client_

◆ feedback_cb

◆ lastCancelResponse_

template<typename ActionType >
std::optional<std::shared_future<typename CancelResponse::SharedPtr> > smacc2::client_bases::SmaccActionClientBase< ActionType >::lastCancelResponse_

◆ lastRequest_

template<typename ActionType >
std::optional<std::shared_future<typename GoalHandle::SharedPtr> > smacc2::client_bases::SmaccActionClientBase< ActionType >::lastRequest_

Definition at line 95 of file smacc_action_client_base.hpp.

◆ onAborted_

◆ onCancelled_

◆ onSucceeded_

◆ postAbortedEvent

◆ postCancelledEvent

◆ postFeedbackEvent

◆ postSuccessEvent


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