From 08d1d848f841ef7f5b44dec9212b15d3efbb5be7 Mon Sep 17 00:00:00 2001 From: MultiMote <sporeon@yandex.ua> Date: Tue, 22 Aug 2017 18:43:55 +0300 Subject: [PATCH] More errors --- README.md | 2 ++ src/QBERcon.cpp | 2 ++ src/QBERcon.h | 2 ++ 3 files changed, 6 insertions(+) diff --git a/README.md b/README.md index 678d0b6..867ce7e 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,8 @@ QBERcon - BattlEye Rcon connector for Qt5 C++ QBERcon::ERROR_LOGIN_FAILED // Wrong password QBERcon::ERROR_KEEPALIVE_EXCEEDED // Timeout QBERcon::ERROR_MISSING_LOGIN_DATA // No login/password specified + QBERcon::ERROR_DNS_ERRROR // DNS Lookup error + QBERcon::ERROR_SOCKET_ERRROR // Socket error ``` Not fully tested. Use at your own risk. \ No newline at end of file diff --git a/src/QBERcon.cpp b/src/QBERcon.cpp index 7864142..92df92d 100644 --- a/src/QBERcon.cpp +++ b/src/QBERcon.cpp @@ -40,6 +40,7 @@ void QBERcon::Client::connectToServer(QString password, QString hostname, quint1 void QBERcon::Client::hostLookupFinished() { if (dns->error() != QDnsLookup::NoError) { qDebug() << "DNS Lookup failed" << dns->error() << dns->errorString(); + emit error(QBERcon::ERROR_DNS_ERRROR); return; } if(dns->hostAddressRecords().size() > 0) { @@ -94,6 +95,7 @@ void QBERcon::Client::socketDisconnected() { void QBERcon::Client::socketError(QAbstractSocket::SocketError err) { qDebug() << "QAbstractSocket::SocketError:" << err; + emit error(QBERcon::ERROR_SOCKET_ERRROR); disconnectFromServer(); } diff --git a/src/QBERcon.h b/src/QBERcon.h index d1d7167..15621c4 100644 --- a/src/QBERcon.h +++ b/src/QBERcon.h @@ -18,6 +18,8 @@ enum RconError { ERROR_LOGIN_FAILED, ERROR_KEEPALIVE_EXCEEDED, ERROR_MISSING_LOGIN_DATA, + ERROR_DNS_ERRROR, + ERROR_SOCKET_ERRROR };