##

Publication Class Reference
Transport

A publication for a topic. This facilitates transport of messages. 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...
bool | RemovePublisher (const uint32_t id)
| Remove a publisher, based on a publisher ID. More...
void | RemovePublisher (PublisherPtr _pub)
| Remove a publisher. 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...

## Detailed Description

A publication for a topic. This facilitates transport of messages.

## Constructor & Destructor Documentation

## Publication()

Publication | ( | const std::string & | _topic,
|  | const std::string & | _msgType
| ) |  |

Constructor.

Parameters

  [in] | _topic | The topic we're publishing
  [in] | _msgType | The type of the topic we're publishing

## ~Publication()

virtual ~Publication | ( |  | ) |

virtual

Destructor.

## Member Function Documentation

## AddPublisher()

void AddPublisher | ( | PublisherPtr | _pub | ) |

Add a publisher.

Parameters

  [in,out] | _pub | Pointer to publisher object to be added

## AddSubscription() [1/2]

void AddSubscription | ( | const CallbackHelperPtr | _callback | ) |

Subscribe a callback to our topic.

Parameters

  [in] | _callback | The callback

## AddSubscription() [2/2]

void AddSubscription | ( | const NodePtr & | _node | ) |

Subscribe a node to our topic.

Parameters

  [in] | _node | The node

## AddTransport()

void AddTransport | ( | const PublicationTransportPtr & | _publink | ) |

Add a transport.

Parameters

  [in] | _publink | Pointer to publication transport object to be added

## ClearPrevMsgs()

void ClearPrevMsgs | ( |  | ) |

Clear all previous messages for a publisher.

## GetCallbackCount()

unsigned int GetCallbackCount | ( |  | ) | const

Get the number of callbacks.

Returns
  The number of callbacks

## GetLocallyAdvertised()

bool GetLocallyAdvertised | ( |  | ) | const

Was the topic has been advertised from this process?

Returns
  true if the topic has been advertised from this process, false otherwise

## GetMsgType()

std::string GetMsgType | ( |  | ) | const

Get the type of message.

Returns
  The type of message

## GetNodeCount()

unsigned int GetNodeCount | ( |  | ) | const

Get the number of nodes.

Returns
  The number of nodes

## GetPrevMsg()

MessagePtr GetPrevMsg | ( | uint32_t | _pubId | ) |

Get a previous message for a publisher.

Parameters

  [in] | _pubId | ID of the publisher.

Returns
  Pointer to the previous message. NULL if there is no previous message.

## GetRemoteSubscriptionCount()

unsigned int GetRemoteSubscriptionCount | ( |  | ) |

Get the number of remote subscriptions.

Returns
  The number of remote subscriptions

## GetTransportCount()

unsigned int GetTransportCount | ( |  | ) | const

Get the number of transports.

Returns
  The number of transports

## HasTransport()

bool HasTransport | ( | const std::string & | _host,
|  | unsigned int | _port
| ) |  |

Does a given transport exist?

Parameters

  [in] | _host | Hostname of the transport
  [in] | _port | Port of the transport

Returns
  true if the transport exists, false otherwise

## LocalPublish()

void LocalPublish | ( | const std::string & | _data | ) |

Publish data to local subscribers (skip serialization)

Parameters

  [in] | _data | The data to be published

## Publish()

int Publish | ( | MessagePtr | _msg,
|  | boost::function< void(uint32_t)> | _cb,
|  | uint32_t | _id
| ) |  |

Publish data to remote subscribers.

Parameters

  [in] | _msg | Message to be published
  [in] | _cb | Callback to be invoked after publishing is completed

Returns
  Number of remote subscribers that will receive the message.

## PublisherCount()

unsigned int PublisherCount | ( |  | ) | const

Get the number of publishers.

Returns
  The number of publishers.

## RemovePublisher() [1/2]

bool RemovePublisher | ( | const uint32_t | id | ) |

Remove a publisher, based on a publisher ID.

Parameters

  [in] | _id | ID of the publisher to remove.

Returns
  True if successful.

## RemovePublisher() [2/2]

void RemovePublisher | ( | PublisherPtr | _pub | ) |

Remove a publisher.

Parameters

  [in] | _pub | Pointer to publisher object to remove.

## RemoveSubscription() [1/2]

void RemoveSubscription | ( | const NodePtr & | _node | ) |

Unsubscribe a node from our topic.

Parameters

  [in] | _node | The node

## RemoveSubscription() [2/2]

void RemoveSubscription | ( | const std::string & | _host,
|  | unsigned int | _port
| ) |  |

Unsubscribe a a node by host/port from our topic.

Parameters

  [in] | _host | The node's hostname
  [in] | _port | The node's port

## RemoveTransport()

void RemoveTransport | ( | const std::string & | _host,
|  | unsigned int | _port
| ) |  |

Remove a transport.

Parameters

  [in] | _host | The transport's hostname
  [in] | _port | The transport's port

## SetLocallyAdvertised()

void SetLocallyAdvertised | ( | bool | _value | ) |

Set whether this topic has been advertised from this process.

Parameters

  [in] | _value | If true, the topic was locally advertise, otherwise it was not

## SetPrevMsg()

void SetPrevMsg | ( | uint32_t | _pubId,
|  | MessagePtr | _msg
| ) |  |

Set the previous message for a publisher.

Parameters

  [in] | _pubId | ID of the publisher.
  [in] | _msg | The previous message.

The documentation for this class was generated from the following file:

- Publication.hh