Files
qt5-legatus-legacy/Lts/Proxies/HighLevelArchitecture/Apache/dds_handler.h
T

50 lines
1.3 KiB
C++
Executable File

/**
* DdsHandler for HighLevelArchitecture
* $Id$
* $HeadURL$
* $Author$
* Created by Christian Ehrlicher, SLSE, 2017-04-07
*/
#pragma once
#include <DDS/DDSConnector/dds_connector.h>
#include <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:
void onExerciseChanged(const ExerciseManagement::Exercise &ex, DataModification modType);
private:
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;
NGL::INGLLogger &m_logger;
};
} // namespace HighLevelArchitecture