diff options
Diffstat (limited to 'src/networkmanager.cpp')
| -rw-r--r-- | src/networkmanager.cpp | 35 |
1 files changed, 9 insertions, 26 deletions
diff --git a/src/networkmanager.cpp b/src/networkmanager.cpp index b574b638..fc30060c 100644 --- a/src/networkmanager.cpp +++ b/src/networkmanager.cpp @@ -3,8 +3,6 @@ #include "datatypes.h" #include "debug_functions.h" #include "lobby.h" -#include "net/nettcpconnection.h" -#include "net/netwebsocketconnection.h" #include "options.h" #include <QAbstractSocket> @@ -59,19 +57,19 @@ void NetworkManager::ms_request_finished(QNetworkReply *reply) { const auto entry = entryRef.toObject(); ServerInfo server; - server.ip = entry["ip"].toString(); + server.address = entry["ip"].toString(); server.name = entry["name"].toString(); server.description = entry["description"].toString(tr("No description provided.")); - if (entry["ws_port"].isDouble()) + if (entry.contains("ws_port")) { - server.socket_type = WebSocketServerConnection; server.port = entry["ws_port"].toInt(); } else { - server.socket_type = TcpServerConnection; server.port = entry["port"].toInt(); + server.legacy = true; } + if (server.port != 0) { server_list.append(server); @@ -149,27 +147,12 @@ void NetworkManager::connect_to_server(ServerInfo server) disconnect_from_server(); qInfo().noquote() << QObject::tr("Connecting to %1").arg(server.toString()); - switch (server.socket_type) - { - default: - server.socket_type = TcpServerConnection; - [[fallthrough]]; - - case TcpServerConnection: - qInfo() << "Using TCP backend."; - m_connection = new NetTcpConnection(this); - break; - - case WebSocketServerConnection: - qInfo() << "Using WebSockets backend."; - m_connection = new NetWebSocketConnection(this); - break; - } + m_connection = new WebSocketConnection(ao_app, this); - connect(m_connection, &NetConnection::connectedToServer, this, [] { qInfo() << "Established connection to server."; }); - connect(m_connection, &NetConnection::disconnectedFromServer, ao_app, &AOApplication::server_disconnected); - connect(m_connection, &NetConnection::errorOccurred, this, [](QString error) { qCritical() << "Connection error:" << error; }); - connect(m_connection, &NetConnection::receivedPacket, this, &NetworkManager::handle_server_packet); + connect(m_connection, &WebSocketConnection::connectedToServer, this, [] { qInfo() << "Established connection to server."; }); + connect(m_connection, &WebSocketConnection::disconnectedFromServer, ao_app, &AOApplication::server_disconnected); + connect(m_connection, &WebSocketConnection::errorOccurred, this, [](QString error) { qCritical() << "Connection error:" << error; }); + connect(m_connection, &WebSocketConnection::receivedPacket, this, &NetworkManager::handle_server_packet); m_connection->connectToServer(server); } |
