SMACC
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
smacc::client_bases::SmaccActionClientBase< ActionType > Class Template Reference

#include <smacc_action_client_base.h>

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

Public Types

typedef actionlib::SimpleActionClient< ActionType > ActionClient
 
typedef actionlib::SimpleActionClient< ActionType > GoalHandle
 
typedef ActionClient::SimpleDoneCallback SimpleDoneCallback
 
typedef ActionClient::SimpleActiveCallback SimpleActiveCallback
 
typedef ActionClient::SimpleFeedbackCallback SimpleFeedbackCallback
 

Public Member Functions

 ACTION_DEFINITION (ActionType)
 
 SmaccActionClientBase (std::string actionServerName)
 
 SmaccActionClientBase ()
 
virtual ~SmaccActionClientBase ()
 
virtual void initialize () override
 
template<typename EvType >
void postResultEvent (ResultConstPtr result)
 
template<typename TOrthogonal , typename TSourceObject >
void onOrthogonalAllocation ()
 
template<typename T >
boost::signals2::connection onSucceeded (void(T::*callback)(ResultConstPtr &), T *object)
 
template<typename T >
boost::signals2::connection onSucceeded (std::function< void(ResultConstPtr &)> callback)
 
template<typename T >
boost::signals2::connection onAborted (void(T::*callback)(ResultConstPtr &), T *object)
 
template<typename T >
boost::signals2::connection onAborted (std::function< void(ResultConstPtr &)> callback)
 
template<typename T >
boost::signals2::connection onPreempted (void(T::*callback)(ResultConstPtr &), T *object)
 
template<typename T >
boost::signals2::connection onPreempted (std::function< void(ResultConstPtr &)> callback)
 
template<typename T >
boost::signals2::connection onRejected (void(T::*callback)(ResultConstPtr &), T *object)
 
template<typename T >
boost::signals2::connection onRejected (std::function< void(ResultConstPtr &)> callback)
 
virtual void cancelGoal () override
 
virtual SimpleClientGoalState getState () override
 
void sendGoal (Goal &goal)
 
- Public Member Functions inherited from smacc::client_bases::ISmaccActionClient
 ISmaccActionClient ()
 
virtual ~ISmaccActionClient ()
 
std::string getNamespace () const
 
virtual void cancelGoal ()=0
 
virtual SimpleClientGoalState getState ()=0
 
- Public Member Functions inherited from smacc::ISmaccClient
 ISmaccClient ()
 
virtual ~ISmaccClient ()
 
virtual void initialize ()
 
virtual std::string getName () const
 
template<typename EventType >
void postEvent (const EventType &ev)
 
template<typename EventType >
void postEvent ()
 
template<typename TComponent >
TComponent * getComponent ()
 
template<typename TComponent >
TComponent * getComponent (std::string name)
 
virtual smacc::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)
 

Static Public Member Functions

static std::string getEventLabel ()
 

Public Attributes

std::string name_
 rosnamespace path More...
 
smacc::SmaccSignal< void(const ResultConstPtr &)> onSucceeded_
 
smacc::SmaccSignal< void(const ResultConstPtr &)> onAborted_
 
smacc::SmaccSignal< void(const ResultConstPtr &)> onPreempted_
 
smacc::SmaccSignal< void(const ResultConstPtr &)> onRejected_
 
std::function< void(ResultConstPtr)> postSuccessEvent
 
std::function< void(ResultConstPtr)> postAbortedEvent
 
std::function< void(ResultConstPtr)> postPreemptedEvent
 
std::function< void(ResultConstPtr)> postRejectedEvent
 
std::function< void(FeedbackConstPtr)> postFeedbackEvent
 
SimpleDoneCallback done_cb
 
SimpleActiveCallback active_cb
 
SimpleFeedbackCallback feedback_cb
 

Protected Member Functions

void onFeedback (const FeedbackConstPtr &feedback_msg)
 
void onResult (const SimpleClientGoalState &state, const ResultConstPtr &result_msg)
 
- Protected Member Functions inherited from smacc::ISmaccClient
template<typename TOrthogonal , typename TSourceObject >
void onOrthogonalAllocation ()
 
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)
 
void setStateMachine (ISmaccStateMachine *stateMachine)
 
void setOrthogonal (ISmaccOrthogonal *orthogonal)
 

Protected Attributes

std::shared_ptr< ActionClientclient_
 
- Protected Attributes inherited from smacc::client_bases::ISmaccActionClient
std::string name_
 
- Protected Attributes inherited from smacc::ISmaccClient
std::map< ComponentKey, std::shared_ptr< smacc::ISmaccComponent > > components_
 

Detailed Description

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

Definition at line 21 of file smacc_action_client_base.h.

Member Typedef Documentation

◆ ActionClient

template<typename ActionType >
typedef actionlib::SimpleActionClient<ActionType> smacc::client_bases::SmaccActionClientBase< ActionType >::ActionClient

Definition at line 26 of file smacc_action_client_base.h.

◆ GoalHandle

template<typename ActionType >
typedef actionlib::SimpleActionClient<ActionType> smacc::client_bases::SmaccActionClientBase< ActionType >::GoalHandle

Definition at line 27 of file smacc_action_client_base.h.

◆ SimpleActiveCallback

template<typename ActionType >
typedef ActionClient::SimpleActiveCallback smacc::client_bases::SmaccActionClientBase< ActionType >::SimpleActiveCallback

Definition at line 30 of file smacc_action_client_base.h.

◆ SimpleDoneCallback

template<typename ActionType >
typedef ActionClient::SimpleDoneCallback smacc::client_bases::SmaccActionClientBase< ActionType >::SimpleDoneCallback

Definition at line 29 of file smacc_action_client_base.h.

◆ SimpleFeedbackCallback

template<typename ActionType >
typedef ActionClient::SimpleFeedbackCallback smacc::client_bases::SmaccActionClientBase< ActionType >::SimpleFeedbackCallback

Definition at line 31 of file smacc_action_client_base.h.

Constructor & Destructor Documentation

◆ SmaccActionClientBase() [1/2]

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

Definition at line 33 of file smacc_action_client_base.h.

◆ SmaccActionClientBase() [2/2]

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

Definition at line 39 of file smacc_action_client_base.h.

41 name_("")
42 {
43 }

◆ ~SmaccActionClientBase()

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

Definition at line 51 of file smacc_action_client_base.h.

52 {
53 }

Member Function Documentation

◆ ACTION_DEFINITION()

template<typename ActionType >
smacc::client_bases::SmaccActionClientBase< ActionType >::ACTION_DEFINITION ( ActionType  )

◆ cancelGoal()

template<typename ActionType >
virtual void smacc::client_bases::SmaccActionClientBase< ActionType >::cancelGoal ( )
inlineoverridevirtual

Implements smacc::client_bases::ISmaccActionClient.

Definition at line 159 of file smacc_action_client_base.h.

160 {
161 if (client_->isServerConnected())
162 {
163 ROS_INFO("Cancelling goal of %s", this->getName().c_str());
164 client_->cancelGoal();
165 }
166 else
167 {
168 ROS_ERROR("%s [at %s]: not connected with actionserver, skipping cancel goal ...", getName().c_str(), getNamespace().c_str());
169 }
170 }
virtual std::string getName() const
Definition: client.cpp:34

References smacc::client_bases::SmaccActionClientBase< ActionType >::client_, smacc::ISmaccClient::getName(), and smacc::client_bases::ISmaccActionClient::getNamespace().

Referenced by cl_move_base_z::CbUndoPathBackwards2::update().

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

◆ getEventLabel()

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

Definition at line 45 of file smacc_action_client_base.h.

46 {
47 auto type = TypeInfo::getTypeInfoFromType<ActionType>();
48 return type->getNonTemplatedTypeName();
49 }

◆ getState()

template<typename ActionType >
virtual SimpleClientGoalState smacc::client_bases::SmaccActionClientBase< ActionType >::getState ( )
inlineoverridevirtual

Implements smacc::client_bases::ISmaccActionClient.

Definition at line 172 of file smacc_action_client_base.h.

173 {
174 return client_->getState();
175 }

References smacc::client_bases::SmaccActionClientBase< ActionType >::client_.

Referenced by smacc::client_bases::SmaccActionClientBase< ActionType >::onResult().

Here is the caller graph for this function:

◆ initialize()

template<typename ActionType >
virtual void smacc::client_bases::SmaccActionClientBase< ActionType >::initialize ( )
inlineoverridevirtual

◆ onAborted() [1/2]

template<typename ActionType >
template<typename T >
boost::signals2::connection smacc::client_bases::SmaccActionClientBase< ActionType >::onAborted ( std::function< void(ResultConstPtr &)>  callback)
inline

Definition at line 130 of file smacc_action_client_base.h.

131 {
132 return this->getStateMachine()->createSignalConnection(onAborted_, callback);
133 }
ISmaccStateMachine * getStateMachine()
boost::signals2::connection createSignalConnection(TSmaccSignal &signal, TMemberFunctionPrototype callback, TSmaccObjectType *object)
smacc::SmaccSignal< void(const ResultConstPtr &)> onAborted_

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

Here is the call graph for this function:

◆ onAborted() [2/2]

template<typename ActionType >
template<typename T >
boost::signals2::connection smacc::client_bases::SmaccActionClientBase< ActionType >::onAborted ( void(T::*)(ResultConstPtr &)  callback,
T *  object 
)
inline

Definition at line 124 of file smacc_action_client_base.h.

125 {
126 return this->getStateMachine()->createSignalConnection(onAborted_, callback, object);
127 }

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

Referenced by cl_move_base_z::CbMoveBaseClientBehaviorBase::onOrthogonalAllocation().

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

◆ onFeedback()

template<typename ActionType >
void smacc::client_bases::SmaccActionClientBase< ActionType >::onFeedback ( const FeedbackConstPtr &  feedback_msg)
inlineprotected

Definition at line 197 of file smacc_action_client_base.h.

198 {
199 postFeedbackEvent(feedback_msg);
200 }
std::function< void(FeedbackConstPtr)> postFeedbackEvent

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

◆ onOrthogonalAllocation()

template<typename ActionType >
template<typename TOrthogonal , typename TSourceObject >
void smacc::client_bases::SmaccActionClientBase< ActionType >::onOrthogonalAllocation ( )
inline

Definition at line 91 of file smacc_action_client_base.h.

92 {
93 // we create here all the event factory functions capturing the TOrthogonal
94 postSuccessEvent = [=](auto msg) { this->postResultEvent<EvActionSucceeded<TSourceObject, TOrthogonal>>(msg); };
95 postAbortedEvent = [=](auto msg) { this->postResultEvent<EvActionAborted<TSourceObject, TOrthogonal>>(msg); };
96 postPreemptedEvent = [=](auto msg) { this->postResultEvent<EvActionPreempted<TSourceObject, TOrthogonal>>(msg); };
97 postRejectedEvent = [=](auto msg) { this->postResultEvent<EvActionRejected<TSourceObject, TOrthogonal>>(msg); };
98 postFeedbackEvent = [=](auto msg) {
99 auto actionFeedbackEvent = new EvActionFeedback<Feedback, TOrthogonal>();
100 actionFeedbackEvent->client = this;
101 actionFeedbackEvent->feedbackMessage = *msg;
102 this->postEvent(actionFeedbackEvent);
103 ROS_DEBUG("[%s] FEEDBACK EVENT", demangleType(typeid(*this)).c_str());
104 };
105
106 done_cb = boost::bind(&SmaccActionClientBase<ActionType>::onResult, this, _1, _2);
107 //active_cb;
109 }
std::function< void(ResultConstPtr)> postRejectedEvent
void onResult(const SimpleClientGoalState &state, const ResultConstPtr &result_msg)
void onFeedback(const FeedbackConstPtr &feedback_msg)
std::function< void(ResultConstPtr)> postPreemptedEvent
std::function< void(ResultConstPtr)> postAbortedEvent
std::function< void(ResultConstPtr)> postSuccessEvent
std::string demangleType(const std::type_info *tinfo)
Definition: introspection.h:86

References smacc::introspection::demangleType(), smacc::client_bases::SmaccActionClientBase< ActionType >::done_cb, smacc::client_bases::SmaccActionClientBase< ActionType >::feedback_cb, smacc::client_bases::SmaccActionClientBase< ActionType >::postAbortedEvent, smacc::ISmaccClient::postEvent(), smacc::client_bases::SmaccActionClientBase< ActionType >::postFeedbackEvent, smacc::client_bases::SmaccActionClientBase< ActionType >::postPreemptedEvent, smacc::client_bases::SmaccActionClientBase< ActionType >::postRejectedEvent, and smacc::client_bases::SmaccActionClientBase< ActionType >::postSuccessEvent.

Here is the call graph for this function:

◆ onPreempted() [1/2]

template<typename ActionType >
template<typename T >
boost::signals2::connection smacc::client_bases::SmaccActionClientBase< ActionType >::onPreempted ( std::function< void(ResultConstPtr &)>  callback)
inline

Definition at line 142 of file smacc_action_client_base.h.

143 {
144 return this->getStateMachine()->createSignalConnection(onPreempted_, callback);
145 }
smacc::SmaccSignal< void(const ResultConstPtr &)> onPreempted_

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

Here is the call graph for this function:

◆ onPreempted() [2/2]

template<typename ActionType >
template<typename T >
boost::signals2::connection smacc::client_bases::SmaccActionClientBase< ActionType >::onPreempted ( void(T::*)(ResultConstPtr &)  callback,
T *  object 
)
inline

Definition at line 136 of file smacc_action_client_base.h.

137 {
138 return this->getStateMachine()->createSignalConnection(onPreempted_, callback, object);
139 }

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

Here is the call graph for this function:

◆ onRejected() [1/2]

template<typename ActionType >
template<typename T >
boost::signals2::connection smacc::client_bases::SmaccActionClientBase< ActionType >::onRejected ( std::function< void(ResultConstPtr &)>  callback)
inline

Definition at line 154 of file smacc_action_client_base.h.

155 {
156 return this->getStateMachine()->createSignalConnection(onRejected_, callback);
157 }
smacc::SmaccSignal< void(const ResultConstPtr &)> onRejected_

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

Here is the call graph for this function:

◆ onRejected() [2/2]

template<typename ActionType >
template<typename T >
boost::signals2::connection smacc::client_bases::SmaccActionClientBase< ActionType >::onRejected ( void(T::*)(ResultConstPtr &)  callback,
T *  object 
)
inline

Definition at line 148 of file smacc_action_client_base.h.

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

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

Here is the call graph for this function:

◆ onResult()

template<typename ActionType >
void smacc::client_bases::SmaccActionClientBase< ActionType >::onResult ( const SimpleClientGoalState &  state,
const ResultConstPtr &  result_msg 
)
inlineprotected

Definition at line 202 of file smacc_action_client_base.h.

203 {
204 // auto *actionResultEvent = new EvActionResult<TDerived>();
205 // actionResultEvent->client = this;
206 // actionResultEvent->resultMessage = *result_msg;
207
208 const auto &resultType = this->getState();
209 ROS_INFO("[%s] request result: %s", this->getName().c_str(), resultType.toString().c_str());
210
211 if (resultType == actionlib::SimpleClientGoalState::SUCCEEDED)
212 {
213 ROS_INFO("[%s] request result: Success", this->getName().c_str());
214 onSucceeded_(result_msg);
215 postSuccessEvent(result_msg);
216 }
217 else if (resultType == actionlib::SimpleClientGoalState::ABORTED)
218 {
219 ROS_INFO("[%s] request result: Aborted", this->getName().c_str());
220 onAborted_(result_msg);
221 postAbortedEvent(result_msg);
222 }
223 else if (resultType == actionlib::SimpleClientGoalState::REJECTED)
224 {
225 ROS_INFO("[%s] request result: Rejected", this->getName().c_str());
226 onRejected_(result_msg);
227 postRejectedEvent(result_msg);
228 }
229 else if (resultType == actionlib::SimpleClientGoalState::PREEMPTED)
230 {
231 ROS_INFO("[%s] request result: Preempted", this->getName().c_str());
232 onPreempted_(result_msg);
233 postPreemptedEvent(result_msg);
234 }
235 else
236 {
237 ROS_INFO("[%s] request result: NOT HANDLED TYPE: %s", this->getName().c_str(), resultType.toString().c_str());
238 }
239 }
virtual SimpleClientGoalState getState() override
smacc::SmaccSignal< void(const ResultConstPtr &)> onSucceeded_

References smacc::ISmaccClient::getName(), smacc::client_bases::SmaccActionClientBase< ActionType >::getState(), smacc::client_bases::SmaccActionClientBase< ActionType >::onAborted_, smacc::client_bases::SmaccActionClientBase< ActionType >::onPreempted_, smacc::client_bases::SmaccActionClientBase< ActionType >::onRejected_, smacc::client_bases::SmaccActionClientBase< ActionType >::onSucceeded_, smacc::client_bases::SmaccActionClientBase< ActionType >::postAbortedEvent, smacc::client_bases::SmaccActionClientBase< ActionType >::postPreemptedEvent, smacc::client_bases::SmaccActionClientBase< ActionType >::postRejectedEvent, and smacc::client_bases::SmaccActionClientBase< ActionType >::postSuccessEvent.

Here is the call graph for this function:

◆ onSucceeded() [1/2]

template<typename ActionType >
template<typename T >
boost::signals2::connection smacc::client_bases::SmaccActionClientBase< ActionType >::onSucceeded ( std::function< void(ResultConstPtr &)>  callback)
inline

Definition at line 118 of file smacc_action_client_base.h.

119 {
120 return this->getStateMachine()->createSignalConnection(onSucceeded_, callback);
121 }

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

Here is the call graph for this function:

◆ onSucceeded() [2/2]

template<typename ActionType >
template<typename T >
boost::signals2::connection smacc::client_bases::SmaccActionClientBase< ActionType >::onSucceeded ( void(T::*)(ResultConstPtr &)  callback,
T *  object 
)
inline

Definition at line 112 of file smacc_action_client_base.h.

113 {
114 return this->getStateMachine()->createSignalConnection(onSucceeded_, callback, object);
115 }

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

Referenced by cl_move_base_z::CbMoveBaseClientBehaviorBase::onOrthogonalAllocation(), and cl_move_base_z::WaypointNavigator::sendNextGoal().

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

◆ postResultEvent()

template<typename ActionType >
template<typename EvType >
void smacc::client_bases::SmaccActionClientBase< ActionType >::postResultEvent ( ResultConstPtr  result)
inline

Definition at line 81 of file smacc_action_client_base.h.

82 {
83 auto *ev = new EvType();
84 //ev->client = this;
85 ev->resultMessage = *result;
86 ROS_INFO("Posting EVENT %s", demangleSymbol(typeid(ev).name()).c_str());
87 this->postEvent(ev);
88 }
std::string demangleSymbol()
Definition: introspection.h:75

References smacc::introspection::demangleSymbol(), and smacc::ISmaccClient::postEvent().

Here is the call graph for this function:

◆ sendGoal()

template<typename ActionType >
void smacc::client_bases::SmaccActionClientBase< ActionType >::sendGoal ( Goal &  goal)
inline

Definition at line 177 of file smacc_action_client_base.h.

178 {
179 ROS_INFO_STREAM("[ActionClient<"<< demangledTypeName<ActionType>() <<">] Sending goal to actionserver located in " << this->name_ << "\"");
180
181 if (client_->isServerConnected())
182 {
183 ROS_INFO_STREAM(getName() << ": Goal Value: " << std::endl
184 << goal);
185 client_->sendGoal(goal, done_cb, active_cb, feedback_cb);
186 }
187 else
188 {
189 ROS_ERROR("%s [at %s]: not connected with actionserver, skipping goal request ...", getName().c_str(), getNamespace().c_str());
190 //client_->waitForServer();
191 }
192 }

References smacc::client_bases::SmaccActionClientBase< ActionType >::active_cb, smacc::client_bases::SmaccActionClientBase< ActionType >::client_, smacc::client_bases::SmaccActionClientBase< ActionType >::done_cb, smacc::client_bases::SmaccActionClientBase< ActionType >::feedback_cb, smacc::ISmaccClient::getName(), and smacc::client_bases::ISmaccActionClient::getNamespace().

Referenced by cl_move_base_z::CbNavigateGlobalPosition::execute(), cl_move_base_z::CbAbsoluteRotate::onEntry(), cl_move_base_z::CbNavigateBackwards::onEntry(), cl_move_base_z::CbNavigateForward::onEntry(), cl_move_base_z::CbRotate::onEntry(), cl_move_base_z::CbUndoPathBackwards::onEntry(), cl_move_base_z::CbUndoPathBackwards2::onEntry(), and cl_move_base_z::WaypointNavigator::sendNextGoal().

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

Member Data Documentation

◆ active_cb

template<typename ActionType >
SimpleActiveCallback smacc::client_bases::SmaccActionClientBase< ActionType >::active_cb

◆ client_

template<typename ActionType >
std::shared_ptr<ActionClient> smacc::client_bases::SmaccActionClientBase< ActionType >::client_
protected

◆ done_cb

template<typename ActionType >
SimpleDoneCallback smacc::client_bases::SmaccActionClientBase< ActionType >::done_cb

◆ feedback_cb

template<typename ActionType >
SimpleFeedbackCallback smacc::client_bases::SmaccActionClientBase< ActionType >::feedback_cb

◆ name_

template<typename ActionType >
std::string smacc::client_bases::SmaccActionClientBase< ActionType >::name_

◆ onAborted_

template<typename ActionType >
smacc::SmaccSignal<void(const ResultConstPtr &)> smacc::client_bases::SmaccActionClientBase< ActionType >::onAborted_

◆ onPreempted_

template<typename ActionType >
smacc::SmaccSignal<void(const ResultConstPtr &)> smacc::client_bases::SmaccActionClientBase< ActionType >::onPreempted_

◆ onRejected_

template<typename ActionType >
smacc::SmaccSignal<void(const ResultConstPtr &)> smacc::client_bases::SmaccActionClientBase< ActionType >::onRejected_

◆ onSucceeded_

template<typename ActionType >
smacc::SmaccSignal<void(const ResultConstPtr &)> smacc::client_bases::SmaccActionClientBase< ActionType >::onSucceeded_

◆ postAbortedEvent

template<typename ActionType >
std::function<void(ResultConstPtr)> smacc::client_bases::SmaccActionClientBase< ActionType >::postAbortedEvent

◆ postFeedbackEvent

template<typename ActionType >
std::function<void(FeedbackConstPtr)> smacc::client_bases::SmaccActionClientBase< ActionType >::postFeedbackEvent

◆ postPreemptedEvent

template<typename ActionType >
std::function<void(ResultConstPtr)> smacc::client_bases::SmaccActionClientBase< ActionType >::postPreemptedEvent

◆ postRejectedEvent

template<typename ActionType >
std::function<void(ResultConstPtr)> smacc::client_bases::SmaccActionClientBase< ActionType >::postRejectedEvent

◆ postSuccessEvent

template<typename ActionType >
std::function<void(ResultConstPtr)> smacc::client_bases::SmaccActionClientBase< ActionType >::postSuccessEvent

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