A publication for a topic. More...
#include <transport/transport.hh>
Public Member Functions | |
| Publication (const std::string &_topic, const std::string &_msgType) | |
| Constructor.  More... | |
| virtual | ~Publication () | 
| Destructor.  More... | |
| void | AddPublisher (PublisherPtr _pub) | 
| Add a publisher.  More... | |
| void | AddSubscription (const CallbackHelperPtr _callback) | 
| Subscribe a callback to our topic.  More... | |
| void | AddSubscription (const NodePtr &_node) | 
| Subscribe a node to our topic.  More... | |
| void | AddTransport (const PublicationTransportPtr &_publink) | 
| Add a transport.  More... | |
| void | ClearPrevMsgs () | 
| Clear all previous messages for a publisher.  More... | |
| unsigned int | GetCallbackCount () const | 
| Get the number of callbacks.  More... | |
| bool | GetLocallyAdvertised () const | 
| Was the topic has been advertised from this process?  More... | |
| std::string | GetMsgType () const | 
| Get the type of message.  More... | |
| unsigned int | GetNodeCount () const | 
| Get the number of nodes.  More... | |
| MessagePtr | GetPrevMsg (uint32_t _pubId) | 
| Get a previous message for a publisher.  More... | |
| unsigned int | GetRemoteSubscriptionCount () | 
| Get the number of remote subscriptions.  More... | |
| unsigned int | GetTransportCount () const | 
| Get the number of transports.  More... | |
| bool | HasTransport (const std::string &_host, unsigned int _port) | 
| Does a given transport exist?  More... | |
| void | LocalPublish (const std::string &_data) | 
| Publish data to local subscribers (skip serialization)  More... | |
| int | Publish (MessagePtr _msg, boost::function< void(uint32_t)> _cb, uint32_t _id) | 
| Publish data to remote subscribers.  More... | |
| unsigned int | PublisherCount () const | 
| Get the number of publishers.  More... | |
| void | RemovePublisher (PublisherPtr _pub) | 
| Remove a publisher.  More... | |
| bool | RemovePublisher (const uint32_t id) | 
| Remove a publisher, based on a publisher ID.  More... | |
| void | RemoveSubscription (const NodePtr &_node) | 
| Unsubscribe a node from our topic.  More... | |
| void | RemoveSubscription (const std::string &_host, unsigned int _port) | 
| Unsubscribe a a node by host/port from our topic.  More... | |
| void | RemoveTransport (const std::string &_host, unsigned int _port) | 
| Remove a transport.  More... | |
| void | SetLocallyAdvertised (bool _value) | 
| Set whether this topic has been advertised from this process.  More... | |
| void | SetPrevMsg (uint32_t _pubId, MessagePtr _msg) | 
| Set the previous message for a publisher.  More... | |
A publication for a topic.
This facilitates transport of messages
| Publication | ( | const std::string & | _topic, | 
| const std::string & | _msgType | ||
| ) | 
Constructor.
| [in] | _topic | The topic we're publishing | 
| [in] | _msgType | The type of the topic we're publishing | 
      
  | 
  virtual | 
Destructor.
| void AddPublisher | ( | PublisherPtr | _pub | ) | 
Add a publisher.
| [in,out] | _pub | Pointer to publisher object to be added | 
| void AddSubscription | ( | const CallbackHelperPtr | _callback | ) | 
Subscribe a callback to our topic.
| [in] | _callback | The callback | 
| void AddSubscription | ( | const NodePtr & | _node | ) | 
Subscribe a node to our topic.
| [in] | _node | The node | 
| void AddTransport | ( | const PublicationTransportPtr & | _publink | ) | 
Add a transport.
| [in] | _publink | Pointer to publication transport object to be added | 
| void ClearPrevMsgs | ( | ) | 
Clear all previous messages for a publisher.
| unsigned int GetCallbackCount | ( | ) | const | 
Get the number of callbacks.
| bool GetLocallyAdvertised | ( | ) | const | 
Was the topic has been advertised from this process?
| std::string GetMsgType | ( | ) | const | 
Get the type of message.
| unsigned int GetNodeCount | ( | ) | const | 
Get the number of nodes.
| MessagePtr GetPrevMsg | ( | uint32_t | _pubId | ) | 
Get a previous message for a publisher.
| [in] | _pubId | ID of the publisher. | 
| unsigned int GetRemoteSubscriptionCount | ( | ) | 
Get the number of remote subscriptions.
| unsigned int GetTransportCount | ( | ) | const | 
Get the number of transports.
| bool HasTransport | ( | const std::string & | _host, | 
| unsigned int | _port | ||
| ) | 
Does a given transport exist?
| [in] | _host | Hostname of the transport | 
| [in] | _port | Port of the transport | 
| void LocalPublish | ( | const std::string & | _data | ) | 
Publish data to local subscribers (skip serialization)
| [in] | _data | The data to be published | 
| int Publish | ( | MessagePtr | _msg, | 
| boost::function< void(uint32_t)> | _cb, | ||
| uint32_t | _id | ||
| ) | 
Publish data to remote subscribers.
| [in] | _msg | Message to be published | 
| [in] | _cb | Callback to be invoked after publishing is completed | 
| unsigned int PublisherCount | ( | ) | const | 
Get the number of publishers.
| void RemovePublisher | ( | PublisherPtr | _pub | ) | 
Remove a publisher.
| [in] | _pub | Pointer to publisher object to remove. | 
| bool RemovePublisher | ( | const uint32_t | id | ) | 
Remove a publisher, based on a publisher ID.
| [in] | _id | ID of the publisher to remove. | 
| void RemoveSubscription | ( | const NodePtr & | _node | ) | 
Unsubscribe a node from our topic.
| [in] | _node | The node | 
| void RemoveSubscription | ( | const std::string & | _host, | 
| unsigned int | _port | ||
| ) | 
Unsubscribe a a node by host/port from our topic.
| [in] | _host | The node's hostname | 
| [in] | _port | The node's port | 
| void RemoveTransport | ( | const std::string & | _host, | 
| unsigned int | _port | ||
| ) | 
Remove a transport.
| [in] | _host | The transport's hostname | 
| [in] | _port | The transport's port | 
| void SetLocallyAdvertised | ( | bool | _value | ) | 
Set whether this topic has been advertised from this process.
| [in] | _value | If true, the topic was locally advertise, otherwise it was not | 
| void SetPrevMsg | ( | uint32_t | _pubId, | 
| MessagePtr | _msg | ||
| ) | 
Set the previous message for a publisher.
| [in] | _pubId | ID of the publisher. | 
| [in] | _msg | The previous message. |