Files
berrux-dev 881d44f4dd Migrates residual Lts sources to generated rtiddsgen API
Adds NmeaManagement tests, fixes codegen includes and Qt6 SerialPort CMake target.
2026-09-23 12:05:37 +02:00

44 lines
1.3 KiB
C++
Executable File

#pragma once
#include <QtCore/QObject>
#include <ParticipantManagement/ppm.hpp>
#include <ParticipantManagement/ppm_dtc.h>
#include <LtsUtils/LtsUtilsCore/data_modification_enum.h>
#include <unordered_map>
#include <unordered_set>
#include "logger.h"
class QTimer;
namespace TrainingAreaBase
{
class MainHandler;
class PpmHandler final : public QObject
{
Q_OBJECT
public:
explicit PpmHandler(MainHandler *mainHandler);
bool init();
std::shared_ptr<ParticipantManagement::Interface::Dtc> getDtc() { return m_ppmDtc; }
std::unordered_map<int, std::unordered_set<int>> exerciseEquipmentAssignment() const { return m_exerciseEquipmentAssignments; }
Q_SIGNALS:
void position(int equipNo, const ParticipantManagement::ParticipantPosition &pos);
private Q_SLOTS:
void onParticipantPositionChanged(const ParticipantManagement::ParticipantPosition &data, DataModification modType);
void onEquipmentExerciseMappingChanged(const ParticipantManagement::EquipmentExerciseMapping &data, DataModification modType);
void sendEquipmentExerciseAssignment();
private:
NGL::INGLLogger &m_logger;
std::unordered_map<int, std::unordered_set<int>> m_exerciseEquipmentAssignments;
std::shared_ptr<ParticipantManagement::Interface::Dtc> m_ppmDtc;
MainHandler *m_mainHandler;
QTimer *m_equipExerciseMappingTimer;
};
}