3#include <QtCore/QObject>
4#include <QtCore/QTimer>
5#include <QtNetwork/QSslSocket>
6#include <QtNetwork/QTcpSocket>
43 void sendNMEA(
const QByteArray& nmea);
47 void error(
const QString& errorMsg);
60 static bool isHttpSuccess(
int code) {
return code >= 200 && code < 300; }
64 void _sendHttpRequest();
66 void _parseRtcm(
const QByteArray& buffer);
68 QTcpSocket* _socket =
nullptr;
69 QTimer* _connectTimeoutTimer =
nullptr;
70 QTimer* _dataWatchdogTimer =
nullptr;
77 QVector<int> _whitelist;
80 bool _httpHandshakeDone =
false;
82 bool _stopped =
false;
84 qint64 _postOkTimestampMs = 0;
86 QByteArray _httpResponseBuf;
static HttpStatus parseHttpStatusLine(const QString &line)
void error(const QString &errorMsg)
void sendNMEA(const QByteArray &nmea)
static constexpr int kConnectTimeoutMs
friend class NTRIPHttpTransportTest
static constexpr int kDataWatchdogMs
~NTRIPHttpTransport() override
void RTCMDataUpdate(const QByteArray &message)
static bool isHttpSuccess(int code)
static constexpr int kMaxHttpHeaderSize
static QByteArray repairNmeaChecksum(const QByteArray &sentence)
bool operator==(const NTRIPTransportConfig &other) const
bool operator!=(const NTRIPTransportConfig &other) const