18 #ifndef PUBLICATION_HH
19 #define PUBLICATION_HH
21 #include <boost/shared_ptr.hpp>
43 const std::string &msgType);
61 public:
void RemoveTransport(
const std::string &host,
unsigned int port);
78 public:
void Publish(
const google::protobuf::Message &msg,
79 const boost::function<
void()> &cb =
NULL);
82 public:
bool HasTransport(
const std::string &_host,
unsigned int _port);
86 private:
unsigned int id;
87 private:
static unsigned int idCounter;
88 private: std::string topic;
89 private: std::string msgType;
92 private: std::list<CallbackHelperPtr> callbacks;
95 private: std::list<NodePtr> nodes;
97 private: std::list<PublicationTransportPtr> transports;
99 private: std::vector<PublisherPtr> publishers;
101 private:
bool locallyAdvertised;