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

57 lines
1.4 KiB
C++
Executable File

/**
* Send / Receive telegrams to/from PrtCnv
* $Id$
* $HeadURL$
* $Author$
* Created by Christian Ehrlicher, SLSE, 2016-09-26
*/
#pragma once
#include <QObject>
#include <memory>
#include <TrainingAreaBase/tab_plugin_interface.h>
#include <PrtCnv/PrtCnvApplication.hpp>
#include "logger.h"
namespace WlsTetra
{
class TetraPrtCnv final : public QObject
{
Q_OBJECT
public:
explicit TetraPrtCnv(TrainingAreaBase::Plugin::DataProvider *pdp,
QObject *parent = nullptr);
~TetraPrtCnv();
bool init();
public Q_SLOTS:
void onExerciseChanged();
void logWlsTelegram(const TrainingAreaBase::TetraIcd::TrainingAreaTelegram *tele, bool bIsSend);
Q_SIGNALS:
void tetraConnectionChanged(bool bConnected);
void textMessageFromPrtCnv(const QByteArray &message);
void textMessageToPrtCnv(const QByteArray &message);
void broadcastTelegramsRequest(int equipmentNumber, int broadcastIndex, int resetCounter);
private:
void cleanupProcess();
static QString iniFileIn();
QString iniFileOut() const;
static QString iniPath();
static QString playerIdsFile();
bool updatePrtCnv();
bool checkConfigTemplates();
bool startPrtCnv();
quint16 randomListenPort() const;
private:
TrainingAreaBase::Plugin::DataProvider *m_pdp;
PrtCnv::PrtCnvApplication *m_prtCnvApp;
int m_exerciseId;
int m_radioGrpId;
NGL::INGLLogger &m_logger;
};
} // namespace WlsTetra