Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Apache/dds_handler.h
T

46 lines
1.2 KiB
C++
Executable File

#pragma once
#include <DDS/DDSConnector/dds_connector.h>
#include <DDS/Core/core_dts_types.h>
#include <ExerciseManagement/exm_dtc.h>
#include <QObject>
#include <Common/logger.h>
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<Core::Pacemaker> pacemaker() const { return m_pacemaker; }
std::shared_ptr<DDSConnector::DdsConnector> 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<DDSConnector::DdsConnector> m_ddsConnector;
std::shared_ptr<Core::Pacemaker> m_pacemaker;
std::shared_ptr<ExerciseManagement::Interface::Dtc> m_dtcExm;
bool m_exerciseHasHlaConnection;
};
}