Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Proxies/DifferentialGPS/mainthread.h
T

48 lines
864 B
C++
Executable File

#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:
NGL::INGLLogger &m_logger;
std::shared_ptr<DdsHandler> m_ddsHandler;
QByteArray m_dgpsData;
QTimer *m_dgpsTimer;
QMutex m_mutex;
TetraImpl *m_tetraIF[2];
int m_tetraIfNum;
TrimbleIF *m_trimbleIF[2];
int m_trimbleIfNum;
QTime m_broadcastTime;
int m_broadcastCycle_ms;
};
}