57 lines
1.4 KiB
C++
Executable File
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
|