#pragma once #include "main_dispatcher.h" #include "logger.h" #include "dds_handler.h" #include #include #include #include #include #include #include namespace ApHlaJson { class MainDispatcher; class PpmHandler : public QObject { Q_OBJECT public: explicit PpmHandler(QObject *parent = nullptr); bool init(MainDispatcher* mainDispatcher); static QString fromDisInt(qint64 value); void getParticipants(); bool isEqNumberInExercise(int equipmentNumber) const; signals: void participantChanged(const QJsonObject &jsonObj); private slots: void onParticipantChanged(const ParticipantManagement::Participant &data, DataModification modType); void onParticipantPositionChanged(const ParticipantManagement::ParticipantPosition &data, DataModification modType); void onDynamicParticipantDataChanged(const ParticipantManagement::DynamicParticipantData &data, DataModification modType); private: NGL::INGLLogger &m_logger; std::shared_ptr m_dtcPpm; QHash m_participantIdsByEqNo; }; }