/** * Read XDR telegrams from a directory and convert it to EtsTetraIcd structures * $Id$ * $HeadURL$ * $Author$ * Created by Christian Ehrlicher, SLSE, 2016-04-14 */ #pragma once #include #include #include class XDR_Wrapper_it; namespace TetraRadio { class ConvertFromJson { public: explicit ConvertFromJson(const std::shared_ptr &rxHandler, const char *loggerName); virtual ~ConvertFromJson() = default; protected: bool handleTelegram(const QByteArray &baJson, int &recvCounter); virtual void handleAcknowledge(qint64 timeStamp, int counter) = 0; virtual void handleTetraConnectionChanged(bool bConnected) = 0; private: template void rxData(const T &data); private: // helper for convertBite static TrainingAreaBase::TetraIcd::BiteError convertBiteError(const QJsonObject &obj); std::shared_ptr m_rxHandler; protected: bool m_bWarnedOnce; NGL::INGLLogger &m_logger; }; } // namespace TetraRadio