Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/WlsTetra/tetra_prtcnv.h
T

52 lines
1.2 KiB
C++
Executable File

#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:
NGL::INGLLogger &m_logger;
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;
};
}