Files
qt5-legatus-legacy/Lts/Proxies/TrainingAreaBase/Plugins/TetraJson/convert_from_json.h
T
2026-08-13 18:33:10 +02:00

41 lines
1.1 KiB
C++
Executable File

/**
* 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 <NGLLogger/INGLLogger.h>
#include <TrainingAreaBase/recv_from_tab.h>
#include <memory>
class XDR_Wrapper_it;
namespace TetraRadio
{
class ConvertFromJson
{
public:
explicit ConvertFromJson(const std::shared_ptr<TrainingAreaBase::RecvFromTab> &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<typename T>
void rxData(const T &data);
private:
// helper for convertBite
static TrainingAreaBase::TetraIcd::BiteError convertBiteError(const QJsonObject &obj);
std::shared_ptr<TrainingAreaBase::RecvFromTab> m_rxHandler;
protected:
bool m_bWarnedOnce;
NGL::INGLLogger &m_logger;
};
} // namespace TetraRadio