#pragma once #include "PrtCnvThread.hpp" namespace N_CoPrtCnv { class CoPrtCnvCentralTelegram; } namespace TrainingAreaBase { namespace TetraIcd { struct TrainingAreaTelegram; } } namespace PrtCnv { class PrtCnvTelegramLogThread final : public PrtCnvThread { Q_OBJECT public: explicit PrtCnvTelegramLogThread(PrtCnvThreadStarter* a_parent); int32_t create(NGL::Settings *settings) override; int32_t init() override; public slots: void writeCentralTelegramLog(N_CoPrtCnv::CoPrtCnvCentralTelegram *a_centralTelegram, bool a_isSend, int a_priority); void writeWlsTelegramLog(const TrainingAreaBase::TetraIcd::TrainingAreaTelegram *tele, bool a_isSend, int a_priority); void writeRadioTelegramLog(const QByteArray &tele, bool a_isSend, int a_priority); private: signals: void telegramLogReceived(const QByteArray &a_data, int a_protocolType, int a_priority); private slots: void writeTelegramLog(const QByteArray &a_data, int a_protocolType, int a_priority); protected: QString m_LogTelegramPathWithPrefix; bool m_DoLogCentralTelegram; bool m_DoLogWlsTelegram; bool m_DoLogRadioTelegram; }; }