#pragma once #include #include #include #include namespace NGL { class INGLLogger; } namespace DDSConnector { class DDSCONNECTOR_EXPORT PubSubBase { protected: NGL::INGLLogger& m_logger; PubSubBase(const dds::domain::DomainParticipant& domainParticipant, const std::string& partition, const char* loggerName); public: virtual ~PubSubBase() = default; void setDomainParticipant(const dds::domain::DomainParticipant& domainParticipant) { m_domainParticipant = domainParticipant; } const dds::domain::DomainParticipant& getDomainParticipant() const { return m_domainParticipant; } protected: template void updatePartitionQoS(P& pubSub); protected: dds::domain::DomainParticipant m_domainParticipant; std::vector m_partitions; }; } // namespace DDSConnector