/** * DdsHandler for DDS * $Id$ * $HeadURL$ * $Author$ * Created by Christian Ehrlicher, SLSE, 2016-04-14 */ #pragma once #include #include #include #include #include #include #include #include #include "logger.h" namespace NGL { class INGLLogger; } namespace Core { class Pacemaker; } namespace TrainingAreaBase { class DdsHandler { public: DdsHandler(int domainId, int exerciseId); ~DdsHandler(); bool init(const QStringList &qosFileList = QStringList()); std::shared_ptr pacemaker() const { return m_pacemaker; } std::shared_ptr dtsTab() const { return m_dtsTab; } std::shared_ptr ftsTab() const { return m_ftsTab; } std::shared_ptr ftsPpm() const { return m_ftcPpm; } std::shared_ptr ftcNom() const { return m_ftcNom; } std::shared_ptr dtcOpm() const { return m_dtcOpm; } std::shared_ptr ddsConnector() const { return m_ddsConnector; } std::shared_ptr emergencyCall() const { return m_dtsEmergencyCall; } qint64 partitionTime() const { return m_curMSecSinceEpoch; } int getExerciseId() const { return m_exerciseId;} private: std::shared_ptr m_ddsConnector; std::shared_ptr m_dtcPartitionTime; std::shared_ptr m_pacemaker; std::shared_ptr m_dtsTab; std::shared_ptr m_ftsTab; std::shared_ptr m_ftcPpm; std::shared_ptr m_ftcNom; std::shared_ptr m_dtcOpm; std::shared_ptr m_dtsEmergencyCallPublisher; std::shared_ptr m_dtsEmergencyCall; qint64 m_curMSecSinceEpoch = 0; int m_exerciseId; NGL::INGLLogger &m_logger; }; }