Class SmaccAsyncClientBehavior

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class SmaccAsyncClientBehavior : public smacc2::ISmaccClientBehavior

Subclassed by smacc2::client_behaviors::CbRosLaunch, smacc2::client_behaviors::CbRosLaunch2, smacc2::client_behaviors::CbRosStop2, smacc2::client_behaviors::CbSequence, smacc2::client_behaviors::CbServiceCall< ServiceType >, smacc2::client_behaviors::CbSleepFor, smacc2::client_behaviors::CbWaitActionServer, smacc2::client_behaviors::CbWaitNode, smacc2::client_behaviors::CbWaitTopic, smacc2::client_behaviors::CbWaitTopicMessage< TMessage >

Public Functions

template<typename TOrthogonal, typename TSourceObject>
void onOrthogonalAllocation()
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()
virtual void executeOnEntry() override
virtual 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)

Protected Functions

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.