Resolves 17 conflicts against legacy Qt5 semantics; validates with BUILD_RTI=ON BUILD_GRANTLEE=ON.
60 lines
1.9 KiB
C++
Executable File
60 lines
1.9 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* JsonHandlerRx for AdlerJson Plugin
|
|
* $Id: hla_handler_rx.h 62304 2024-03-21 08:17:45Z ewert_j $
|
|
* $HeadURL: svn://slssvn/TDS/branches/product/features/ufom/Lts/Proxies/TrainingAreaBase/Plugins/AdlerJson/hla_handler_rx.h $
|
|
* $Author: ewert_j $
|
|
* Created by Julius Ewert, ESIM, 2024-03-20
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <TrainingAreaBase/recv_from_tab.h>
|
|
#include <TrainingAreaBase/tx_mixin.h>
|
|
#include <TrainingAreaBase/tab_plugin_interface.h>
|
|
#include <QtCore/QObject>
|
|
#include <QtCore/QString>
|
|
#include <memory>
|
|
#include "logger.h"
|
|
|
|
namespace AdlerJson
|
|
{
|
|
class AesHandler;
|
|
class PpmHandler;
|
|
class JsonDispatcher;
|
|
class JsonHandlerRx : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit JsonHandlerRx(const std::shared_ptr<TrainingAreaBase::RecvFromTab> &recvFromTabCb,
|
|
const std::shared_ptr<TrainingAreaBase::TxMixin> &sendToTabCb,
|
|
JsonDispatcher *dispatcher,
|
|
AesHandler *aesHandler,
|
|
PpmHandler *ppmHandler);
|
|
|
|
bool handleTelegram (const QByteArray &baJson );
|
|
bool handleTelegram (TrainingAreaBase::TetraIcd::TrainingAreaTelegram *tabTele);
|
|
bool handleTelegram (int wsId, const QJsonObject& telegram, int &errorcode);
|
|
Q_SIGNALS:
|
|
void participantConnectionState(int equipmentNumber, bool dataCommunicationPossible);
|
|
private:
|
|
template<typename T>
|
|
void rxData (const T &data );
|
|
|
|
template<typename T>
|
|
void txData (const T &data );
|
|
|
|
bool checkExercise (int equipmentNumber) const;
|
|
private:
|
|
std::shared_ptr<TrainingAreaBase::RecvFromTab> m_rxHandler;
|
|
std::shared_ptr<TrainingAreaBase::TxMixin> m_txHandler;
|
|
JsonDispatcher *m_dispatcher;
|
|
bool m_bWarnedOnce;
|
|
bool m_bWarnedOnceTx;
|
|
AesHandler *m_aesHandler;
|
|
PpmHandler *m_ppmHandler;
|
|
LOGGER_T m_logger;
|
|
};
|
|
|
|
} // namespace AdlerJson
|