Files
qt5-legatus-legacy/Lts/Proxies/DifferentialGPS/mainthread.h
T
2026-08-13 18:33:10 +02:00

52 lines
1.0 KiB
C++
Executable File

/**
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
#include <QtCore/QObject>
#include <QtCore/QMutex>
#include <QtCore/QTime>
#include <QtNetwork/QHostAddress>
#include "logger.h"
#include "dds_handler.h"
class QTimer;
namespace DifferentialGPS
{
class TetraImpl;
class TrimbleIF;
class MainThread final : public QObject
{
Q_OBJECT
public:
explicit MainThread(QObject *parent = nullptr);
~MainThread();
bool init(int domainId);
void addNewData(const QByteArray &ba, int trimbleIfNum);
bool getNewData(QByteArray &ba);
Q_SIGNALS:
void newDataAvailable();
protected:
std::shared_ptr<DdsHandler> m_ddsHandler;
QByteArray m_dgpsData;
QTimer *m_dgpsTimer;
QMutex m_mutex;
TetraImpl *m_tetraIF[2];
int m_tetraIfNum; // Nummer des Tetra IF-es, an das Daten gesendet werden.
TrimbleIF *m_trimbleIF[2];
int m_trimbleIfNum; // Nummer des Trimble IF-es, von dem Daten erwartet werden.
NGL::INGLLogger &m_logger;
QTime m_broadcastTime;
int m_broadcastCycle_ms;
};
} // namespace DifferentialGPS