SMACC2
|
#include <smacc_client.hpp>
Public Member Functions | |
ISmaccClient () | |
virtual | ~ISmaccClient () |
virtual void | onInitialize () |
virtual std::string | getName () const |
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 () |
ISmaccStateMachine * | getStateMachine () |
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 () |
Protected Member Functions | |
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) |
rclcpp::Node::SharedPtr | getNode () |
rclcpp::Logger | getLogger () |
Protected Attributes | |
std::map< ComponentKey, std::shared_ptr< smacc2::ISmaccComponent > > | components_ |
Private Member Functions | |
void | initialize () |
void | setStateMachine (ISmaccStateMachine *stateMachine) |
void | setOrthogonal (ISmaccOrthogonal *orthogonal) |
Private Attributes | |
ISmaccStateMachine * | stateMachine_ |
ISmaccOrthogonal * | orthogonal_ |
Friends | |
class | ISmaccOrthogonal |
class | ISmaccComponent |
Definition at line 44 of file smacc_client.hpp.
smacc2::ISmaccClient::ISmaccClient | ( | ) |
Definition at line 26 of file client.cpp.
|
virtual |
Definition at line 28 of file client.cpp.
void smacc2::ISmaccClient::connectSignal | ( | TSmaccSignal & | signal, |
void(T::*)() | callback, | ||
T * | object | ||
) |
Definition at line 138 of file smacc_client_impl.hpp.
References smacc2::ISmaccStateMachine::createSignalConnection(), and getStateMachine().
|
protected |
Definition at line 131 of file smacc_client_impl.hpp.
Referenced by smacc2::ClientHandler< TOrthogonal, TClient >::createComponent(), and smacc2::ISmaccComponent::createSiblingComponent().
|
protected |
Definition at line 91 of file smacc_client_impl.hpp.
References components_, getLogger(), getName(), and getStateMachine().
Referenced by smacc2::ClientHandler< TOrthogonal, TClient >::createNamedComponent(), and smacc2::ISmaccComponent::createSiblingNamedComponent().
TComponent * smacc2::ISmaccClient::getComponent | ( | ) |
Definition at line 41 of file smacc_client_impl.hpp.
Referenced by cl_nav2z::CbNavigateGlobalPosition::execute(), cl_nitrosz::CbNavigateGlobalPosition::execute(), cl_nav2z::CbAbsoluteRotate::onEntry(), cl_nav2z::CbNavigateBackwards::onEntry(), cl_nav2z::CbNavigateForward::onEntry(), cl_nav2z::CbNavigateGlobalPosition::onEntry(), cl_nav2z::CbNavigateNamedWaypoint::onEntry(), cl_nav2z::CbNavigateNextWaypoint::onEntry(), cl_nav2z::CbRotate::onEntry(), cl_nav2z::CbSeekWaypoint::onEntry(), cl_nav2z::CbUndoPathBackwards::onEntry(), cl_nav2z::CbWaitPose::onEntry(), cl_nitrosz::CbAbsoluteRotate::onEntry(), cl_nitrosz::CbNavigateBackwards::onEntry(), cl_nitrosz::CbNavigateForward::onEntry(), cl_nitrosz::CbNavigateGlobalPosition::onEntry(), cl_nitrosz::CbNavigateNamedWaypoint::onEntry(), cl_nitrosz::CbNavigateNextWaypoint::onEntry(), cl_nitrosz::CbRotate::onEntry(), cl_nitrosz::CbSeekWaypoint::onEntry(), cl_nitrosz::CbUndoPathBackwards::onEntry(), cl_nitrosz::CbWaitPose::onEntry(), cl_nav2z::CbUndoPathBackwards::onExit(), cl_nitrosz::CbUndoPathBackwards::onExit(), cl_nav2z::CbNavigateNextWaypointUntilReached::onNavigationActionSuccess(), cl_nitrosz::CbNavigateNextWaypointUntilReached::onNavigationActionSuccess(), smacc2::ISmaccComponent::requiresComponent(), smacc2::ISmaccComponent::requiresComponent(), cl_nav2z::CpWaypointNavigator::sendNextGoal(), and cl_nitrosz::CpWaypointNavigator::sendNextGoal().
TComponent * smacc2::ISmaccClient::getComponent | ( | int | index | ) |
Definition at line 47 of file smacc_client_impl.hpp.
References components_.
TComponent * smacc2::ISmaccClient::getComponent | ( | std::string | name | ) |
Definition at line 71 of file smacc_client_impl.hpp.
References components_.
void smacc2::ISmaccClient::getComponents | ( | std::vector< std::shared_ptr< ISmaccComponent > > & | components | ) |
Definition at line 34 of file client.cpp.
References components_.
Referenced by smacc2::ISmaccComponent::requiresComponent(), and smacc2::ISmaccComponent::requiresComponent().
|
inlineprotected |
Definition at line 105 of file smacc_client.hpp.
References getNode().
Referenced by smacc2::client_bases::SmaccPublisherClient::configure(), createNamedComponent(), smacc2::ISmaccComponent::getLogger(), cl_http::ClHttp::makeRequest(), smacc2::client_bases::SmaccServiceClient< ServiceType >::onInitialize(), smacc2::client_bases::SmaccServiceServerClient< TService >::onInitialize(), smacc2::client_bases::SmaccSubscriberClient< MessageType >::onInitialize(), cl_multirole_sensor::ClMultiroleSensor< MessageType >::onInitialize(), smacc2::client_bases::SmaccActionClientBase< ActionType >::onOrthogonalAllocation(), cl_keyboard::ClKeyboard::onOrthogonalAllocation(), cl_lifecyclenode::ClLifecycleNode::onOrthogonalAllocation(), smacc2::client_bases::SmaccActionClientBase< ActionType >::onResult(), cl_moveit2z::ClMoveit2z::postEventMotionExecutionFailed(), cl_moveit2z::ClMoveit2z::postEventMotionExecutionSucceded(), cl_keyboard::ClKeyboard::postKeyEvent(), smacc2::client_bases::SmaccActionClientBase< ActionType >::postResultEvent(), smacc2::client_bases::SmaccActionClientBase< ActionType >::sendGoal(), and smacc2::client_bases::SmaccActionClientBase< ActionType >::waitForServer().
|
virtual |
Reimplemented in smacc2::client_bases::ISmaccActionClient.
Definition at line 42 of file client.cpp.
References smacc2::introspection::demangleSymbol().
Referenced by smacc2::client_bases::SmaccPublisherClient::configure(), createNamedComponent(), smacc2::client_bases::SmaccServiceClient< ServiceType >::onInitialize(), smacc2::client_bases::SmaccServiceServerClient< TService >::onInitialize(), and smacc2::client_bases::SmaccSubscriberClient< MessageType >::onInitialize().
|
protected |
Definition at line 60 of file client.cpp.
References smacc2::ISmaccStateMachine::getNode(), and getStateMachine().
Referenced by smacc2::client_bases::SmaccPublisherClient::configure(), getLogger(), smacc2::ISmaccComponent::getNode(), smacc2::client_bases::SmaccActionClientBase< ActionType >::onInitialize(), smacc2::client_bases::SmaccServiceClient< ServiceType >::onInitialize(), smacc2::client_bases::SmaccServiceServerClient< TService >::onInitialize(), smacc2::client_bases::SmaccSubscriberClient< MessageType >::onInitialize(), cl_lifecyclenode::ClLifecycleNode::onInitialize(), cl_moveit2z::ClMoveit2z::onInitialize(), cl_multirole_sensor::ClMultiroleSensor< MessageType >::onInitialize(), cl_ros_timer::ClRosTimer::onInitialize(), and cl_lifecyclenode::ClLifecycleNode::onTransitionEvent().
|
inline |
Definition at line 88 of file smacc_client_impl.hpp.
References stateMachine_.
Referenced by connectSignal(), createNamedComponent(), getNode(), smacc2::client_bases::SmaccActionClientBase< ActionType >::onAborted(), smacc2::client_bases::SmaccActionClientBase< ActionType >::onAborted(), smacc2::client_bases::SmaccActionClientBase< ActionType >::onCancelled(), smacc2::client_bases::SmaccActionClientBase< ActionType >::onCancelled(), smacc2::client_bases::SmaccSubscriberClient< MessageType >::onFirstMessageReceived(), cl_keyboard::ClKeyboard::OnKeyPress(), smacc2::client_bases::SmaccSubscriberClient< MessageType >::onMessageReceived(), cl_multirole_sensor::ClMultiroleSensor< MessageType >::onMessageTimeout(), cl_moveit2z::ClMoveit2z::onMotionExecutionFailed(), cl_moveit2z::ClMoveit2z::onMotionExecutionSuccedded(), cl_http::ClHttp::onResponseReceived(), smacc2::client_bases::SmaccServiceServerClient< TService >::onServiceRequestReceived(), smacc2::client_bases::SmaccActionClientBase< ActionType >::onSucceeded(), smacc2::client_bases::SmaccActionClientBase< ActionType >::onSucceeded(), cl_ros_timer::ClRosTimer::onTimerTick(), cl_nav2z::CpWaypointNavigator::sendNextGoal(), and cl_nitrosz::CpWaypointNavigator::sendNextGoal().
|
virtual |
Definition at line 55 of file client.cpp.
References smacc2::introspection::TypeInfo::getFromStdTypeInfo().
|
private |
Definition at line 30 of file client.cpp.
References onInitialize().
const std::vector< std::shared_ptr< ISmaccComponent > > & smacc2::ISmaccClient::iterateComponents | ( | ) | const |
|
virtual |
Reimplemented in smacc2::client_bases::SmaccActionClientBase< ActionType >, smacc2::client_bases::SmaccActionClientBase< nav2_msgs::action::NavigateToPose >, smacc2::client_bases::SmaccServiceClient< ServiceType >, smacc2::client_bases::SmaccServiceServerClient< TService >, smacc2::client_bases::SmaccSubscriberClient< MessageType >, smacc2::client_bases::SmaccSubscriberClient< std_msgs::msg::UInt16 >, smacc2::client_bases::SmaccSubscriberClient< TMsg >, cl_http::ClHttp, cl_keyboard::ClKeyboard, cl_lifecyclenode::ClLifecycleNode, cl_moveit2z::ClMoveit2z, cl_multirole_sensor::ClMultiroleSensor< MessageType >, and cl_ros_timer::ClRosTimer.
Definition at line 32 of file client.cpp.
Referenced by initialize().
|
inlineprotected |
Definition at line 90 of file smacc_client.hpp.
Definition at line 35 of file smacc_client_impl.hpp.
References smacc2::ISmaccStateMachine::postEvent(), and stateMachine_.
Referenced by smacc2::client_bases::SmaccActionClientBase< ActionType >::onOrthogonalAllocation(), smacc2::client_bases::SmaccSubscriberClient< MessageType >::onOrthogonalAllocation(), cl_lifecyclenode::ClLifecycleNode::onOrthogonalAllocation(), cl_multirole_sensor::ClMultiroleSensor< MessageType >::onOrthogonalAllocation(), and smacc2::client_bases::SmaccActionClientBase< ActionType >::postResultEvent().
Definition at line 29 of file smacc_client_impl.hpp.
References smacc2::ISmaccStateMachine::postEvent(), and stateMachine_.
void smacc2::ISmaccClient::requiresClient | ( | SmaccClientType *& | storage | ) |
Definition at line 144 of file smacc_client_impl.hpp.
References orthogonal_, and smacc2::ISmaccOrthogonal::requiresClient().
Referenced by smacc2::ISmaccComponent::requiresClient().
|
private |
|
private |
Definition at line 48 of file client.cpp.
References stateMachine_.
|
friend |
Definition at line 123 of file smacc_client.hpp.
|
friend |
Definition at line 122 of file smacc_client.hpp.
|
protected |
Definition at line 95 of file smacc_client.hpp.
Referenced by createNamedComponent(), getComponent(), getComponent(), and getComponents().
|
private |
Definition at line 110 of file smacc_client.hpp.
Referenced by requiresClient(), and setOrthogonal().
|
private |
Definition at line 109 of file smacc_client.hpp.
Referenced by getStateMachine(), postEvent(), postEvent(), and setStateMachine().