/** * DdsHandler for HighLevelArchitecture * $Id$ * $HeadURL$ * $Author$ * Created by Christian Ehrlicher, SLSE, 2017-04-07 */ #pragma once #include #include #include #include #include namespace Core { class Pacemaker; } namespace HighLevelArchitecture { class DdsHandler : public QObject { Q_OBJECT public: DdsHandler(int domainId, int exerciseId); ~DdsHandler(); bool init(const QStringList &qosFileList = QStringList()); std::shared_ptr pacemaker() const { return m_pacemaker; } std::shared_ptr ddsConnector() const { return m_ddsConnector; } bool hlaIsActive() const { return m_hlaIsActive; } Q_SIGNALS: void exerciseHlaStateChanged(bool bHlaEnabled); private: void onExerciseChanged(const ExerciseManagement::Exercise &ex, DataModification modType); private: std::shared_ptr m_ddsConnector; std::shared_ptr m_pacemaker; std::shared_ptr m_dtcExm; bool m_hlaIsActive; NGL::INGLLogger &m_logger; }; } // namespace HighLevelArchitecture