/** * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include #include #include #include #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 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