/** * DdsHandler for DDS * $Id$ * $HeadURL$ * $Author$ * Created by Hanna E. Rathje, SLSE, 2015-09-02 */ #pragma once #include #include #include #include "logger.h" #include #include #include #include namespace Core { class Pacemaker; } namespace NotificationManagement { class DdsHandler final : public QObject { Q_OBJECT public: explicit DdsHandler(int domainId); bool init(const QStringList &qosFileList = QStringList()); bool enableEquipmentMessage(); std::shared_ptr ddsConnector() const { return m_ddsConnector; } std::shared_ptr pacemaker() const { return m_pacemaker; } std::shared_ptr topicLockMaster() const { return m_topicLockMaster; } std::shared_ptr dts() const { return m_ddsDts; } std::shared_ptr fts() const { return m_ddsFts; } std::shared_ptr dtcExm() const { return m_dtcExm; } ///< Pointer to DTC ExerciseManagement interface object std::shared_ptr dtcOpm() const { return m_dtcOpm; } ///< Pointer to DTC OperatorManagement interface object 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_ddsDts; std::shared_ptr m_ddsFts; std::shared_ptr m_dtcExm; std::shared_ptr m_dtcOpm; NGL::INGLLogger &m_logger; }; }