/** * DdsHandler for DDS * $Id$ * $HeadURL$ * $Author$ * Created by Christian Ehrlicher, SLSE, 2016-04-14 */ #pragma once #include #include #include #include #include "logger.h" namespace Core { class Pacemaker; namespace Interface { class Dts; } } namespace WarehouseManagement { /** * @brief DdsHandler for Ex_0 partition * All other handlers are created on demand and they're using the * domain participant from this (main) DdsHandler */ class DdsHandler { public: explicit DdsHandler(int domainId); bool init(const QStringList &qosFileList = QStringList()); std::shared_ptr pacemaker() const { return m_pacemaker; } std::shared_ptr exmDtc() const { return m_exmDtc; } std::shared_ptr ppmDtc() const { return m_ppmDtc; } std::shared_ptr ppmFtc() const { return m_ppmFtc; } std::shared_ptr dds() const { return m_ddsConnector; } dds::domain::DomainParticipant getDomainParticipant() const { return m_ddsConnector->getDomainParticipant(); } private: std::shared_ptr m_ddsConnector; std::shared_ptr m_pacemaker; std::shared_ptr m_exmDtc; std::shared_ptr m_ppmDtc; std::shared_ptr m_ppmFtc; NGL::INGLLogger &m_logger; }; }