Manages an advertisement on a specific topic. More...
#include <publisher.h>
Classes | |
class | Impl |
Public Member Functions | |
uint32_t | getNumSubscribers () const |
Returns the number of subscribers that are currently connected to this Publisher. More... | |
std::string | getTopic () const |
Returns the topic that this Publisher will publish on. More... | |
bool | isLatched () const |
Returns whether or not this topic is latched. More... | |
operator void * () const | |
bool | operator!= (const Publisher &rhs) const |
bool | operator< (const Publisher &rhs) const |
bool | operator== (const Publisher &rhs) const |
template<typename M > | |
void | publish (const M &message) const |
Publish a message on the topic associated with this Publisher. More... | |
template<typename M > | |
void | publish (const std::shared_ptr< M > &message) const |
Publish a message on the topic associated with this Publisher. More... | |
Publisher () | |
Publisher (const Publisher &rhs) | |
void | shutdown () |
Shutdown the advertisement associated with this Publisher. More... | |
~Publisher () | |
Private Types | |
typedef std::shared_ptr< Impl > | ImplPtr |
typedef std::weak_ptr< Impl > | ImplWPtr |
Private Member Functions | |
void | incrementSequence () const |
void | publish (const std::function< SerializedMessage(void)> &serfunc, SerializedMessage &m) const |
Publisher (const std::string &topic, const std::string &md5sum, const std::string &datatype, const NodeHandle &node_handle, const SubscriberCallbacksPtr &callbacks) | |
Private Attributes | |
ImplPtr | impl_ |
Friends | |
class | NodeHandle |
class | NodeHandleBackingCollection |
Manages an advertisement on a specific topic.
A Publisher should always be created through a call to NodeHandle::advertise(), or copied from one that was. Once all copies of a specific Publisher go out of scope, any subscriber status callbacks associated with that handle will stop being called. Once all Publishers for a given topic go out of scope the topic will be unadvertised.
Definition at line 48 of file ros/publisher.h.
|
private |
Definition at line 194 of file ros/publisher.h.
|
private |
Definition at line 195 of file ros/publisher.h.
|
inline |
Definition at line 51 of file ros/publisher.h.
roswrap::Publisher::~Publisher | ( | ) |
|
private |
uint32_t roswrap::Publisher::getNumSubscribers | ( | ) | const |
Returns the number of subscribers that are currently connected to this Publisher.
std::string roswrap::Publisher::getTopic | ( | ) | const |
Returns the topic that this Publisher will publish on.
|
private |
bool roswrap::Publisher::isLatched | ( | ) | const |
Returns whether or not this topic is latched.
|
inline |
Definition at line 152 of file ros/publisher.h.
Definition at line 164 of file ros/publisher.h.
Definition at line 154 of file ros/publisher.h.
Definition at line 159 of file ros/publisher.h.
|
inline |
Publish a message on the topic associated with this Publisher.
Definition at line 96 of file ros/publisher.h.
|
private |
|
inline |
Publish a message on the topic associated with this Publisher.
This version of publish will allow fast intra-process message-passing in the future, so you may not mutate the message after it has been passed in here (since it will be passed directly into a callback function)
Definition at line 64 of file ros/publisher.h.
void roswrap::Publisher::shutdown | ( | ) |
Shutdown the advertisement associated with this Publisher.
This method usually does not need to be explicitly called, as automatic shutdown happens when all copies of this Publisher go out of scope
This method overrides the automatic reference counted unadvertise, and does so immediately.
|
friend |
Definition at line 199 of file ros/publisher.h.
|
friend |
Definition at line 200 of file ros/publisher.h.
|
private |
Definition at line 197 of file ros/publisher.h.