Orocos Real-Time Toolkit
2.9.0
|
The Handle holds the information, and allows manipulation, of a connection between a internal::Signal Handler function and the Signal itself. More...
#include <rtt/Handle.hpp>
Public Member Functions | |
Handle () | |
the connection type for the slot of this Handle More... | |
Handle (connection_t conn) | |
Handle (const Handle &hs) | |
Create a copy-equivalent Handle. More... | |
~Handle () | |
No-op destructor, does not change signal/slot state. More... | |
bool | connect () |
(Re-)Connect the slot with the signal. More... | |
bool | disconnect () |
Disconnect the slot from the signal. More... | |
bool | connected () const |
Inspect if this Handle represents a connected signal and slot. More... | |
operator bool () const | |
Inspect if this Handle is pointing to a valid (existing) connection. More... | |
bool | ready () const |
Inspect if this handle is pointing to valid (existing) connection(s). More... | |
Protected Attributes | |
connection_t | m_conn |
This is actually a smart pointer which always points to an existing connection object. More... | |
The Handle holds the information, and allows manipulation, of a connection between a internal::Signal Handler function and the Signal itself.
It is returned by the connect() and setup() methods of Signal and can be used to (dis)connect a handler function from the signal. Handle objects may be assigned to each other and will always point to the same connection. If the last Handle object is destroyed, and is not connected, the connection is destroyed. Thus the resource management (deallocation) is handled by Orocos itself.
To inspect if the Handle points to a valid, existing connection, one can use :
Handle handle; // ... if ( !handle ) { // not valid ! }
Definition at line 66 of file Handle.hpp.
RTT::Handle::Handle | ( | ) |
the connection type for the slot of this Handle
Create an empty Handle.
Definition at line 46 of file Handle.cpp.
RTT::Handle::Handle | ( | connection_t | conn | ) |
Definition at line 51 of file Handle.cpp.
RTT::Handle::Handle | ( | const Handle & | hs | ) |
Create a copy-equivalent Handle.
Definition at line 56 of file Handle.cpp.
RTT::Handle::~Handle | ( | ) |
No-op destructor, does not change signal/slot state.
Definition at line 61 of file Handle.cpp.
bool RTT::Handle::connect | ( | ) |
(Re-)Connect the slot with the signal.
true | the slot is connected. |
false | no valid signal or slot in this Handle |
Definition at line 65 of file Handle.cpp.
References connected(), and m_conn.
Referenced by RTT::DataFlowInterface::addEventPort(), and RTT::internal::OROCOS_SIGNAL_N< R, SlotFunctionT >::connect().
bool RTT::Handle::connected | ( | ) | const |
Inspect if this Handle represents a connected signal and slot.
Definition at line 79 of file Handle.cpp.
References m_conn.
Referenced by connect(), and disconnect().
bool RTT::Handle::disconnect | ( | ) |
Disconnect the slot from the signal.
true | the slot is disconnected. |
false | no valid signal or slot in this Handle |
Definition at line 72 of file Handle.cpp.
References connected(), and m_conn.
Referenced by RTT::DataFlowInterface::addEventPort(), and RTT::ScopedHandle::~ScopedHandle().
RTT::Handle::operator bool | ( | ) | const |
Inspect if this Handle is pointing to a valid (existing) connection.
Definition at line 83 of file Handle.cpp.
References m_conn.
bool RTT::Handle::ready | ( | ) | const |
Inspect if this handle is pointing to valid (existing) connection(s).
Definition at line 87 of file Handle.cpp.
References m_conn.
|
protected |
This is actually a smart pointer which always points to an existing connection object.
Definition at line 126 of file Handle.hpp.
Referenced by connect(), connected(), disconnect(), operator bool(), ready(), and RTT::CleanupHandle::~CleanupHandle().