Represents a collection of standard services that can be used to bridge a ROS based member to the swarm. More...
#include <Node.h>

Public Member Functions | |
| void | BridgeParameter (const std::string &name, const std::string ¶meter, bool isWritable) |
| Bridge a parameter between the ROS parameter server and the swarm. More... | |
| void | ForwardEvent (const std::string &source, const std::string &message) |
| Forward events from a topic to the swarm. More... | |
| void | ForwardTelemetry (const std::string &source, const std::string &message, const std::string &name, bool includeInStatus) |
| Forward telemetry data to the swarm. More... | |
| ros::NodeHandle & | GetNodeHandle () |
| Get ROS node handle. More... | |
| Node (swarmio::Endpoint *endpoint) | |
| Construct a new Node object. More... | |
| virtual void | NodeDidJoin (const swarmio::Node *node) noexceptoverride |
| Called when a new Node has joined the group. More... | |
| virtual void | NodeWasDiscovered (const swarmio::Node *node) noexceptoverride |
| Called when a new Node has been discovered. More... | |
| virtual void | NodeWillLeave (const swarmio::Node *node) noexceptoverride |
| Called when a Node signals that it will leave. More... | |
| void | PublishEvent (const std::string &suffix, const std::string &message, const std::string &name) |
| Forward events from the swarm to a ROS topic. More... | |
| void | PublishParameter (const std::string &suffix, const std::string &message, const std::string &name, const std::string ¶meter, bool isWritable) |
| Bridge and publish a parameter between ROS and the swarm. More... | |
Private Member Functions | |
| void | PublishUpdateForNode (const swarmio::Node *node) |
| Publish a generic info update for a node. More... | |
Private Member Functions inherited from swarmio::profiles::MemberProfile | |
| swarmio::services::event::Service & | GetEventService () |
| Get a reference for the Event service. More... | |
| swarmio::services::keyvalue::Service & | GetKeyValueService () |
| Get a reference for the Key-Value service. More... | |
| MemberProfile (Endpoint *endpoint) | |
| Construct a new MemberProfile. More... | |
| virtual | ~MemberProfile () |
| Destroy the MemberProfile object. More... | |
Private Member Functions inherited from swarmio::profiles::Profile | |
| swarmio::services::discovery::Service & | GetDiscoveryService () |
| Get a reference for the Discovery service. More... | |
| swarmio::services::ping::Service & | GetPingService () |
| Get a reference for the Ping service. More... | |
| swarmio::services::telemetry::Service & | GetTelemetryService () |
| Get a reference for the Telemetry service. More... | |
| virtual | ~Profile () |
| Destroy the Profile object. More... | |
| Profile (Endpoint *endpoint, bool performActiveDiscovery) | |
| Construct a new Profile. More... | |
Private Member Functions inherited from swarmio::Mailbox | |
| virtual void | Disconnect () |
| Disconnect this Mailbox from the Endpoint. More... | |
| Endpoint * | GetEndpoint () |
| Get the associated Endpoint. More... | |
| Mailbox (const Mailbox &)=delete | |
| Remove copy constructor. More... | |
| virtual void | MailboxWasConnected () noexcept |
| Called when the mailbox is attached to an already running endpoint or if the attached endpoint has just started. More... | |
| virtual void | MailboxWillBeDisconnected () noexcept |
| Called right before the mailbox is disconnected from its endpoint or if the attached endpoint is about to stop. More... | |
| Mailbox & | operator= (const Mailbox &)=delete |
| Remove assignment operator. More... | |
| virtual bool | ReceiveMessage (const Node *sender, const data::Message *message) |
| Delivery point of all messages. More... | |
| virtual | ~Mailbox () |
| Destroy the Mailbox object. More... | |
| void | FinishConstruction () |
| Called when the last constructor has finished its job. More... | |
| void | FinishMovingTo (Mailbox *other) |
| Called when message handling should be passed onto the new instance. More... | |
| Mailbox () | |
| Construct a disconnected Mailbox. More... | |
| Mailbox (Endpoint *endpoint) | |
| Construct a new Mailbox object. More... | |
| Mailbox (Mailbox &&other) | |
| Move a Mailbox object. More... | |
Private Attributes | |
| ros::NodeHandle | _nodeHandle |
| Node handle. More... | |
| ros::Publisher | _nodesPublisher |
| The publisher for the nodes topic. More... | |
| std::list< std::unique_ptr< Pylon > > | _pylons |
| Active bridging services. More... | |
| ros::Publisher | _uuidPublisher |
| The publisher for the uuid topic. More... | |
Private Attributes inherited from swarmio::profiles::MemberProfile | |
| swarmio::services::event::Service | _eventService |
| Event service. More... | |
| swarmio::services::keyvalue::Service | _keyvalueService |
| Key-Value service. More... | |
Private Attributes inherited from swarmio::profiles::Profile | |
| swarmio::services::discovery::Service | _discoveryService |
| Discovery service. More... | |
| swarmio::services::ping::Service | _pingService |
| Ping service. More... | |
| swarmio::services::telemetry::Service | _telemetryService |
| Telemetry service. More... | |
Represents a collection of standard services that can be used to bridge a ROS based member to the swarm.
Definition at line 18 of file swarmros/include/swarmros/bridge/Node.h.
| Node::Node | ( | swarmio::Endpoint * | endpoint | ) |
Construct a new Node object.
| endpoint | Endpoint to use |
Definition at line 13 of file bridge/Node.cpp.
| void Node::BridgeParameter | ( | const std::string & | name, |
| const std::string & | parameter, | ||
| bool | isWritable | ||
| ) |
Bridge a parameter between the ROS parameter server and the swarm.
| name | Global parameter name |
| parameter | ROS parameter name |
| isWritable | True if set requests are accepted |
Definition at line 76 of file bridge/Node.cpp.
| void Node::ForwardEvent | ( | const std::string & | source, |
| const std::string & | message | ||
| ) |
Forward events from a topic to the swarm.
| source | Source ROS topic |
| message | ROS message type |
Definition at line 61 of file bridge/Node.cpp.
| void Node::ForwardTelemetry | ( | const std::string & | source, |
| const std::string & | message, | ||
| const std::string & | name, | ||
| bool | includeInStatus | ||
| ) |
Forward telemetry data to the swarm.
| source | Source ROS topic |
| message | ROS message type |
| name | Telemetry name |
| includeInStatus | Include in status broadcast |
Definition at line 56 of file bridge/Node.cpp.
|
inline |
Get ROS node handle.
Definition at line 68 of file swarmros/include/swarmros/bridge/Node.h.
|
overridevirtualnoexcept |
Called when a new Node has joined the group.
| node | The node that has been discovered |
Reimplemented from swarmio::Mailbox.
Definition at line 46 of file bridge/Node.cpp.
|
overridevirtualnoexcept |
Called when a new Node has been discovered.
| node | The node that has been discovered |
Reimplemented from swarmio::Mailbox.
Definition at line 41 of file bridge/Node.cpp.
|
overridevirtualnoexcept |
Called when a Node signals that it will leave.
| node | The node that has left |
Reimplemented from swarmio::Mailbox.
Definition at line 51 of file bridge/Node.cpp.
| void Node::PublishEvent | ( | const std::string & | suffix, |
| const std::string & | message, | ||
| const std::string & | name | ||
| ) |
Forward events from the swarm to a ROS topic.
| suffix | Local topic suffix |
| message | ROS message type |
| name | Global event name |
Definition at line 66 of file bridge/Node.cpp.
| void Node::PublishParameter | ( | const std::string & | suffix, |
| const std::string & | message, | ||
| const std::string & | name, | ||
| const std::string & | parameter, | ||
| bool | isWritable | ||
| ) |
Bridge and publish a parameter between ROS and the swarm.
| suffix | Local topic suffix |
| message | ROS message type |
| name | Global parameter name |
| parameter | ROS parameter name |
| isWritable | True if set requests are accepted |
Definition at line 71 of file bridge/Node.cpp.
|
private |
Publish a generic info update for a node.
| node | Node |
Definition at line 31 of file bridge/Node.cpp.
|
private |
Node handle.
Definition at line 32 of file swarmros/include/swarmros/bridge/Node.h.
|
private |
The publisher for the nodes topic.
Definition at line 39 of file swarmros/include/swarmros/bridge/Node.h.
|
private |
Active bridging services.
Definition at line 26 of file swarmros/include/swarmros/bridge/Node.h.
|
private |
The publisher for the uuid topic.
Definition at line 45 of file swarmros/include/swarmros/bridge/Node.h.