/** * IsmHandler for WirelessLocationSystem * $Id$ * $HeadURL$ * $Author$ * Created by Christian Ehrlicher, SLSE, 2016-04-14 */ #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: std::shared_ptr m_dtcPpm; LOGGER_T m_logger; /*! * \brief m_participantIdsByEqNo * \details Used to avoid using ppmDtc always the Apache send CesHitInformation */ QHash m_participantIdsByEqNo; // eqNo, partId }; } // namespace ApHlaJson