Class to store and manage service call handlers.
More...
#include <HandlerStorage.hh>
|
| HandlerStorage ()=default |
| Constructor. More...
|
|
virtual | ~HandlerStorage ()=default |
| Destructor. More...
|
|
void | AddHandler (const std::string &_topic, const std::string &_nUuid, const std::shared_ptr< T > &_handler) |
| Add a request handler to a topic. A request handler stores the callback and types associated to a service call request. More...
|
|
bool | FirstHandler (const std::string &_topic, const std::string &_msgTypeName, std::shared_ptr< T > &_handler) const |
| Get the first handler for a topic that matches a specific message type. More...
|
|
bool | FirstHandler (const std::string &_topic, const std::string &_reqTypeName, const std::string &_repTypeName, std::shared_ptr< T > &_handler) const |
| Get the first handler for a topic that matches a specific pair of request/response types. More...
|
|
bool | Handler (const std::string &_topic, const std::string &_nUuid, const std::string &_hUuid, std::shared_ptr< T > &_handler) const |
| Get a specific handler. More...
|
|
bool | Handlers (const std::string &_topic, std::map< std::string, std::map< std::string, std::shared_ptr< T > >> &_handlers) const |
| Get the data handlers for a topic. A request handler stores the callback and types associated to a service call request. More...
|
|
bool | HasHandlersForNode (const std::string &_topic, const std::string &_nUuid) const |
| Check if a node has at least one handler. More...
|
|
bool | HasHandlersForTopic (const std::string &_topic) const |
| Return true if we have stored at least one request for the topic. More...
|
|
bool | RemoveHandler (const std::string &_topic, const std::string &_nUuid, const std::string &_reqUuid) |
| Remove a request handler. The node's uuid is used as a key to remove the appropriate request handler. More...
|
|
bool | RemoveHandlersForNode (const std::string &_topic, const std::string &_nUuid) |
| Remove all the handlers from a given node. More...
|
|
template<typename T>
class gz::transport::HandlerStorage< T >
Class to store and manage service call handlers.
gz/transport/HandlerStorage.hh
◆ HandlerStorage()
◆ ~HandlerStorage()
◆ AddHandler()
Add a request handler to a topic. A request handler stores the callback and types associated to a service call request.
- Parameters
-
[in] | _topic | Topic name. |
[in] | _nUuid | Node's unique identifier. |
[in] | _handler | Request handler. |
◆ FirstHandler() [1/2]
Get the first handler for a topic that matches a specific message type.
- Parameters
-
[in] | _topic | Topic name. |
[in] | _msgTypeName | Type of the msg in string format. |
[out] | _handler | handler. |
- Returns
- true if a handler was found.
◆ FirstHandler() [2/2]
Get the first handler for a topic that matches a specific pair of request/response types.
- Parameters
-
[in] | _topic | Topic name. |
[in] | _reqTypeName | Type of the service request. |
[in] | _repTypeName | Type of the service response. |
[out] | _handler | handler. |
- Returns
- true if a handler was found.
◆ Handler()
Get a specific handler.
- Parameters
-
[in] | _topic | Topic name. |
[in] | _nUuid | Node UUID of the handler. |
[in] | _hUuid | Handler UUID. |
[out] | _handler | Handler requested. |
- Returns
- true if the handler was found.
◆ Handlers()
Get the data handlers for a topic. A request handler stores the callback and types associated to a service call request.
- Parameters
-
[in] | _topic | Topic name. |
[out] | _handlers | Request handlers. The key of _handlers is the topic name. The value is another map, where the key is the node UUID and the value is a smart pointer to the handler. |
- Returns
- true if the topic contains at least one request.
◆ HasHandlersForNode()
Check if a node has at least one handler.
- Parameters
-
[in] | _topic | Topic name. |
[in] | _nUuid | Node's unique identifier. |
- Returns
- true if the node has at least one handler registered.
◆ HasHandlersForTopic()
bool HasHandlersForTopic |
( |
const std::string & |
_topic | ) |
const |
|
inline |
Return true if we have stored at least one request for the topic.
- Parameters
-
- Returns
- true if we have stored at least one request for the topic.
◆ RemoveHandler()
Remove a request handler. The node's uuid is used as a key to remove the appropriate request handler.
- Parameters
-
[in] | _topic | Topic name. |
[in] | _nUuid | Node's unique identifier. |
[in] | _reqUuid | Request's UUID to remove. |
- Returns
- True when the handler is removed or false otherwise.
◆ RemoveHandlersForNode()
Remove all the handlers from a given node.
- Parameters
-
[in] | _topic | Topic name. |
[in] | _nUuid | Node's unique identifier. |
- Returns
- True when at least one handler was removed or false otherwise.
The documentation for this class was generated from the following file: