20 #ifndef INCLUDE_FKIE_MESSAGE_FILTERS_PUBLISHER_IMPL_H_
21 #define INCLUDE_FKIE_MESSAGE_FILTERS_PUBLISHER_IMPL_H_
29 template<
class M,
template<
typename>
class Translate>
34 template<
class M,
template<
typename>
class Translate>
37 advertise(nh, topic, queue_size, latch, callback_queue);
40 template<
class M,
template<
typename>
class Translate>
43 return pub_.getNumSubscribers() > 0;
46 template<
class M,
template<
typename>
class Translate>
49 return pub_.getTopic();
52 template<
class M,
template<
typename>
class Translate>
56 opts.
init<M>(topic, queue_size,
59 this->update_subscriber_state();
63 this->update_subscriber_state();
68 pub_ = nh.advertise(opts);
69 update_subscriber_state();
72 template<
class M,
template<
typename>
class Translate>
76 opts.
init<M>(topic, queue_size,
79 this->update_subscriber_state();
80 if (connect_cb) connect_cb(ssp);
84 this->update_subscriber_state();
85 if (disconnect_cb) disconnect_cb(ssp);
91 pub_ = nh.advertise(opts);
92 update_subscriber_state();
95 template<
class M,
template<
typename>
class Translate>
98 pub_.publish(Translate<M>::filterToPublish(m));