mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-23 23:45:35 +08:00
[FSD] Fixed FSD socket error handling
This commit is contained in:
@@ -90,8 +90,8 @@ namespace BlackCore
|
||||
{
|
||||
initializeMessageTypes();
|
||||
connect(&m_socket, &QTcpSocket::readyRead, this, &CFSDClient::readDataFromSocket);
|
||||
connect(&m_socket, qOverload<QAbstractSocket::SocketError>(&QTcpSocket::error), this, &CFSDClient::printSocketError, Qt::QueuedConnection);
|
||||
connect(&m_socket, qOverload<QAbstractSocket::SocketError>(&QTcpSocket::error), this, &CFSDClient::printSocketError, Qt::QueuedConnection);
|
||||
connect(&m_socket, qOverload<QAbstractSocket::SocketError>(&QTcpSocket::error), this, &CFSDClient::printSocketError, Qt::QueuedConnection);
|
||||
connect(&m_socket, qOverload<QAbstractSocket::SocketError>(&QTcpSocket::error), this, &CFSDClient::handleSocketError, Qt::QueuedConnection);
|
||||
|
||||
m_positionUpdateTimer.setObjectName(this->objectName().append(":m_positionUpdateTimer"));
|
||||
connect(&m_positionUpdateTimer, &QTimer::timeout, this, &CFSDClient::sendPilotDataUpdate);
|
||||
@@ -1369,14 +1369,12 @@ namespace BlackCore
|
||||
|
||||
void CFSDClient::printSocketError(QAbstractSocket::SocketError socketError)
|
||||
{
|
||||
Q_UNUSED(socketError)
|
||||
const QString error = m_socket.errorString();
|
||||
CLogMessage(this).error(u"FSD socket error: %1") << socketError;
|
||||
CLogMessage(this).error(u"FSD socket error: %1") << socketErrorToQString(socketError);
|
||||
}
|
||||
|
||||
void CFSDClient::handleSocketError(QAbstractSocket::SocketError socketError)
|
||||
{
|
||||
const QString error = m_socket.errorString();
|
||||
const QString error = socketErrorToQString(socketError);
|
||||
switch (socketError)
|
||||
{
|
||||
// all named here need a logoff
|
||||
@@ -1695,6 +1693,12 @@ namespace BlackCore
|
||||
}
|
||||
}
|
||||
|
||||
QString CFSDClient::socketErrorToQString(QAbstractSocket::SocketError error)
|
||||
{
|
||||
static const QMetaEnum metaEnum = QMetaEnum::fromType<QAbstractSocket::SocketError>();
|
||||
return metaEnum.valueToKey(error);
|
||||
}
|
||||
|
||||
void CFSDClient::parseMessage(const QString &line)
|
||||
{
|
||||
MessageType messageType = MessageType::Unknown;
|
||||
|
||||
@@ -280,6 +280,7 @@ namespace BlackCore
|
||||
void sendIncrementalAircraftConfig();
|
||||
|
||||
void readDataFromSocket();
|
||||
QString socketErrorToQString(QAbstractSocket::SocketError error);
|
||||
void parseMessage(const QString &line);
|
||||
|
||||
void initializeMessageTypes();
|
||||
|
||||
Reference in New Issue
Block a user