SMACC2
|
#include <smacc_orthogonal.hpp>
Public Member Functions | |
void | setStateMachine (ISmaccStateMachine *value) |
ISmaccStateMachine * | getStateMachine () |
void | initState (ISmaccState *state) |
void | addClientBehavior (std::shared_ptr< smacc2::ISmaccClientBehavior > clientBehavior) |
void | runtimeConfigure () |
void | onEntry () |
void | onExit () |
void | onDispose () |
virtual std::string | getName () const |
template<typename SmaccComponentType > | |
void | requiresComponent (SmaccComponentType *&storage) |
template<typename SmaccClientType > | |
bool | requiresClient (SmaccClientType *&storage) |
const std::vector< std::shared_ptr< smacc2::ISmaccClient > > & | getClients () |
const std::vector< std::vector< std::shared_ptr< smacc2::ISmaccClientBehavior > > > & | getClientBehaviors () const |
template<typename T > | |
void | setGlobalSMData (std::string name, T value) |
template<typename T > | |
bool | getGlobalSMData (std::string name, T &ret) |
template<typename TClientBehavior > | |
TClientBehavior * | getClientBehavior (int index=0) |
rclcpp::Node::SharedPtr | getNode () |
rclcpp::Logger | getLogger () |
Protected Member Functions | |
virtual void | onInitialize () |
void | initializeClients () |
template<typename TOrthogonal , typename TClient > | |
void | assignClientToOrthogonal (TClient *client) |
Protected Attributes | |
std::vector< std::shared_ptr< smacc2::ISmaccClient > > | clients_ |
Private Attributes | |
ISmaccStateMachine * | stateMachine_ |
std::vector< std::vector< std::shared_ptr< smacc2::ISmaccClientBehavior > > > | clientBehaviors_ |
std::mutex | mutex_ |
Friends | |
class | ISmaccStateMachine |
Definition at line 27 of file smacc_orthogonal.hpp.
void smacc2::ISmaccOrthogonal::addClientBehavior | ( | std::shared_ptr< smacc2::ISmaccClientBehavior > | clientBehavior | ) |
Definition at line 49 of file orthogonal.cpp.
References clientBehaviors_, getLogger(), getName(), getStateMachine(), and mutex_.
|
protected |
Definition at line 82 of file smacc_orthogonal_impl.hpp.
References getStateMachine().
TClientBehavior * smacc2::ISmaccOrthogonal::getClientBehavior | ( | int | index = 0 | ) |
Definition at line 91 of file smacc_orthogonal_impl.hpp.
References clientBehaviors_.
|
inline |
Definition at line 114 of file smacc_orthogonal_impl.hpp.
References clientBehaviors_.
|
inline |
Definition at line 108 of file smacc_orthogonal_impl.hpp.
References clients_.
bool smacc2::ISmaccOrthogonal::getGlobalSMData | ( | std::string | name, |
T & | ret | ||
) |
Definition at line 126 of file smacc_orthogonal_impl.hpp.
References smacc2::ISmaccStateMachine::getGlobalSMData(), and getStateMachine().
|
inline |
Definition at line 71 of file smacc_orthogonal.hpp.
References getNode().
Referenced by addClientBehavior(), smacc2::Orthogonal< TOrthogonal >::createClient(), initState(), onEntry(), onExit(), requiresClient(), requiresComponent(), and runtimeConfigure().
|
virtual |
Definition at line 81 of file orthogonal.cpp.
References smacc2::introspection::demangleSymbol().
Referenced by addClientBehavior(), initState(), and runtimeConfigure().
rclcpp::Node::SharedPtr smacc2::ISmaccOrthogonal::getNode | ( | ) |
Definition at line 47 of file orthogonal.cpp.
References smacc2::ISmaccStateMachine::getNode(), and stateMachine_.
Referenced by getLogger().
|
inline |
Definition at line 132 of file smacc_orthogonal_impl.hpp.
References stateMachine_.
Referenced by addClientBehavior(), assignClientToOrthogonal(), getGlobalSMData(), onDispose(), requiresClient(), and setGlobalSMData().
|
protected |
Definition at line 39 of file orthogonal.cpp.
References clients_.
Referenced by setStateMachine().
void smacc2::ISmaccOrthogonal::initState | ( | ISmaccState * | state | ) |
Definition at line 73 of file orthogonal.cpp.
References clientBehaviors_, smacc2::ISmaccState::getClassName(), getLogger(), and getName().
void smacc2::ISmaccOrthogonal::onDispose | ( | ) |
Definition at line 165 of file orthogonal.cpp.
References clientBehaviors_, smacc2::ISmaccStateMachine::disconnectSmaccSignalObject(), and getStateMachine().
void smacc2::ISmaccOrthogonal::onEntry | ( | ) |
Definition at line 97 of file orthogonal.cpp.
References cbName, clientBehaviors_, getLogger(), mutex_, orthogonalName, smacc2_client_behavior_on_entry_end, smacc2_client_behavior_on_entry_start, statename, and TRACEPOINT().
void smacc2::ISmaccOrthogonal::onExit | ( | ) |
Definition at line 133 of file orthogonal.cpp.
References cbName, clientBehaviors_, getLogger(), mutex_, orthogonalName, smacc2_client_behavior_on_exit_end, smacc2_client_behavior_on_exit_start, statename, and TRACEPOINT().
|
protectedvirtual |
Definition at line 71 of file orthogonal.cpp.
Referenced by setStateMachine().
bool smacc2::ISmaccOrthogonal::requiresClient | ( | SmaccClientType *& | storage | ) |
Definition at line 29 of file smacc_orthogonal_impl.hpp.
References clients_, getLogger(), and getStateMachine().
Referenced by smacc2::ISmaccClient::requiresClient(), and smacc2::ISmaccClientBehavior::requiresClient().
void smacc2::ISmaccOrthogonal::requiresComponent | ( | SmaccComponentType *& | storage | ) |
Definition at line 67 of file smacc_orthogonal_impl.hpp.
References getLogger(), smacc2::ISmaccStateMachine::requiresComponent(), and stateMachine_.
void smacc2::ISmaccOrthogonal::runtimeConfigure | ( | ) |
Definition at line 83 of file orthogonal.cpp.
References clientBehaviors_, getLogger(), getName(), and mutex_.
void smacc2::ISmaccOrthogonal::setGlobalSMData | ( | std::string | name, |
T | value | ||
) |
Definition at line 120 of file smacc_orthogonal_impl.hpp.
References getStateMachine(), and smacc2::ISmaccStateMachine::setGlobalSMData().
void smacc2::ISmaccOrthogonal::setStateMachine | ( | ISmaccStateMachine * | value | ) |
Definition at line 32 of file orthogonal.cpp.
References initializeClients(), onInitialize(), and stateMachine_.
|
friend |
Definition at line 87 of file smacc_orthogonal.hpp.
|
private |
Definition at line 86 of file smacc_orthogonal.hpp.
Referenced by addClientBehavior(), getClientBehavior(), getClientBehaviors(), initState(), onDispose(), onEntry(), onExit(), and runtimeConfigure().
|
protected |
Definition at line 81 of file smacc_orthogonal.hpp.
Referenced by smacc2::Orthogonal< TOrthogonal >::createClient(), getClients(), initializeClients(), and requiresClient().
|
private |
Definition at line 89 of file smacc_orthogonal.hpp.
Referenced by addClientBehavior(), onEntry(), onExit(), and runtimeConfigure().
|
private |
Definition at line 84 of file smacc_orthogonal.hpp.
Referenced by getNode(), getStateMachine(), requiresComponent(), and setStateMachine().