/** * DdsHandler for DDS * $Id$ * $HeadURL$ * $Author$ * Created by gr, SLSE, 2015-09-02 */ #pragma once #include #include #include #include #include #include #include #include #include #include "logger.h" namespace Core { class Pacemaker; } namespace SoundManagement { class DdsHandler final : public QObject { Q_OBJECT public: explicit DdsHandler(int domainId, int exerciseId); ~DdsHandler() = default; bool init(const QStringList &qosFileList = QStringList()); std::shared_ptr pacemaker() const { return m_pacemaker; } std::shared_ptr topicLockMaster() const { return m_topicLockMaster; } std::shared_ptr dds() const { return m_ddsConnector; } std::shared_ptr dtsSom() const { return m_dtsSom;} ///< Pointer to DTS SoundManagement interface object std::shared_ptr dtcSom() const { return m_dtcSom;} ///< Pointer to DTC SoundManagement interface object std::shared_ptr ftsSom() const { return m_ftsSom;} ///< Pointer to FTS SoundManagement interface object std::shared_ptr dtcIsm() const { return m_dtcIsm;} qint64 currentPartitionTime() const; private: std::shared_ptr m_ddsConnector; std::shared_ptr m_dtcCore; std::shared_ptr m_pacemaker; std::shared_ptr m_topicLockMaster; std::shared_ptr m_dtcIsm; std::shared_ptr m_dtsSom; ///< Pointer to DTS SoundManagement interface object std::shared_ptr m_dtcSom; ///< Pointer to DTC SoundManagement interface object std::shared_ptr m_ftsSom; ///< Pointer to FTS SoundManagement interface object NGL::INGLLogger &m_logger; }; }