#pragma once #include #include #include #include namespace NGL { class INGLLogger; } namespace DDSConnector { class DDSCONNECTOR_EXPORT PubSubBase { protected: 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; NGL::INGLLogger &m_logger; }; }