#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 exerciseHasHlaConnection() const { return m_exerciseHasHlaConnection; } Q_SIGNALS: void exerciseHlaStateChanged(bool bHlaEnabled); private: NGL::INGLLogger &m_logger; void onExerciseChanged(const ExerciseManagement::Exercise &ex, DataModification modType); private: NGL::INGLLogger &m_logger; std::shared_ptr m_ddsConnector; std::shared_ptr m_pacemaker; std::shared_ptr m_dtcExm; bool m_exerciseHasHlaConnection; }; }