Merge pull request #4844 from jrw972/gh-actions-flag-cleanup
[OpenDDS.git] / performance-tests / bench / builder / Publisher.h
blobc994e96dd15c5413aabd09dd41e54cc8d57a7792
1 #pragma once
3 #include "DataWriterManager.h"
5 namespace Builder {
7 class Publisher : public ListenerFactory<DDS::PublisherListener> {
8 public:
9 explicit Publisher(const PublisherConfig& config, PublisherReport& report, DDS::DomainParticipant_var& participant, const std::shared_ptr<TopicManager>& topics, WriterMap& writer_map);
10 ~Publisher();
12 bool enable(bool throw_on_error = false);
13 void detach_listeners();
15 PublisherReport& get_report() { return report_; }
16 const PublisherReport& get_report() const { return report_; }
18 protected:
19 std::string name_;
20 std::string listener_type_name_;
21 const uint32_t listener_status_mask_;
22 Builder::PropertySeq listener_properties_;
23 const std::string transport_config_name_;
24 PublisherReport& report_;
25 DDS::DomainParticipant_var participant_;
26 DDS::PublisherListener_var listener_;
27 DDS::Publisher_var publisher_;
28 std::shared_ptr<DataWriterManager> datawriters_;