5#ifndef adc_multi_publisher_hpp
6#define adc_multi_publisher_hpp
15#define MULTI_PUBLISHER_VERSION "0.0.0"
16#define MULTI_PUBLISHER_TAGS {"none"}
34 virtual std::string_view
version()
const = 0;
37 virtual void add(std::shared_ptr<publisher_api> pub) = 0;
43 virtual int publish(std::shared_ptr<builder_api> b) = 0;
Interface for a group of publishers all being fed the same message(s).
virtual void resume()=0
Resume all publishers.
virtual void terminate()=0
Finalize all added publishers.
virtual void add(std::shared_ptr< publisher_api > pub)=0
Add a configured and initialized publisher.
virtual void pause()=0
Pause all publishers.
virtual std::string_view version() const =0
Get the version.
virtual int publish(std::shared_ptr< builder_api > b)=0
Publish the same message to all added publishers.
virtual ~multi_publisher_api()
version multi_publisher_version(MULTI_PUBLISHER_VERSION, MULTI_PUBLISHER_TAGS)
#define MULTI_PUBLISHER_TAGS
#define MULTI_PUBLISHER_VERSION
A version with tags list.