naoqidriver
Data Structures | Public Member Functions | Private Attributes | Friends
naoqi::publisher::Publisher Class Reference

Publisher concept interface. More...

#include <publisher.hpp>

Data Structures

struct  PublisherConcept
 
struct  PublisherModel
 

Public Member Functions

template<typename T >
 Publisher (const T &pub)
 Constructor for publisher interface. More...
 
bool isInitialized () const
 checks if the publisher is correctly initialized on the ros-master @ More...
 
bool isSubscribed () const
 checks if the publisher has a subscription and is hence allowed to publish More...
 
void reset (ros::NodeHandle &nh)
 initializes/resets the publisher into ROS with a given nodehandle, this will be called at first for initialization or again when master uri has changed More...
 
std::string topic () const
 getting the topic to publish on More...
 

Private Attributes

boost::shared_ptr< PublisherConceptpubPtr_
 

Friends

bool operator== (const Publisher &lhs, const Publisher &rhs)
 
bool operator== (const boost::shared_ptr< Publisher > &lhs, const boost::shared_ptr< Publisher > &rhs)
 

Detailed Description

Publisher concept interface.

Note
this defines an private concept struct, which each instance has to implement
a type erasure pattern in implemented here to avoid strict inheritance, thus each possible publisher instance has to implement the virtual functions mentioned in the concept

Constructor & Destructor Documentation

template<typename T >
naoqi::publisher::Publisher::Publisher ( const T &  pub)
inline

Constructor for publisher interface.

Member Function Documentation

bool naoqi::publisher::Publisher::isInitialized ( ) const
inline

checks if the publisher is correctly initialized on the ros-master @

Returns
bool value indicating true for success
bool naoqi::publisher::Publisher::isSubscribed ( ) const
inline

checks if the publisher has a subscription and is hence allowed to publish

Returns
bool value indicating true for number of sub > 0
void naoqi::publisher::Publisher::reset ( ros::NodeHandle &  nh)
inline

initializes/resets the publisher into ROS with a given nodehandle, this will be called at first for initialization or again when master uri has changed

Parameters
rosNodeHandle to advertise the publisher on
std::string naoqi::publisher::Publisher::topic ( ) const
inline

getting the topic to publish on

Returns
string indicating the topic

Friends And Related Function Documentation

bool operator== ( const Publisher lhs,
const Publisher rhs 
)
friend
bool operator== ( const boost::shared_ptr< Publisher > &  lhs,
const boost::shared_ptr< Publisher > &  rhs 
)
friend

Field Documentation

boost::shared_ptr<PublisherConcept> naoqi::publisher::Publisher::pubPtr_
private

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