3 #include "DataWriterManager.h"
7 class Publisher
: public ListenerFactory
<DDS::PublisherListener
> {
9 explicit Publisher(const PublisherConfig
& config
, PublisherReport
& report
, DDS::DomainParticipant_var
& participant
, const std::shared_ptr
<TopicManager
>& topics
, WriterMap
& writer_map
);
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_
; }
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_
;