diff options
Diffstat (limited to 'include/networkmanager.h')
| -rw-r--r-- | include/networkmanager.h | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/include/networkmanager.h b/include/networkmanager.h index 26a61f2d..705fb9ea 100644 --- a/include/networkmanager.h +++ b/include/networkmanager.h @@ -6,7 +6,7 @@ #include <QDnsLookup> #include <QNetworkAccessManager> -#include <QTcpSocket> +#include <QtWebSockets/QWebSocket> #include <QTime> #include <QTimer> @@ -21,16 +21,20 @@ enum MSDocumentType { class NetworkManager : public QObject { Q_OBJECT -public: - explicit NetworkManager(AOApplication *parent); - ~NetworkManager() = default; - +private: AOApplication *ao_app; QNetworkAccessManager *http; - QTcpSocket *server_socket; + + union { + QWebSocket *ws; + QTcpSocket *tcp; + } server_socket; + connection_type active_connection_type; + bool connected = false; + QTimer *heartbeat_timer; - const QString DEFAULT_MS_BASEURL = "https://servers.aceattorneyonline.com"; + const QString DEFAULT_MS_BASEURL = "http://servers.aceattorneyonline.com"; QString ms_baseurl = DEFAULT_MS_BASEURL; const int heartbeat_interval = 60 * 5 * 1000; @@ -40,12 +44,17 @@ public: unsigned int s_decryptor = 5; +public: + explicit NetworkManager(AOApplication *parent); + ~NetworkManager() = default; + void connect_to_server(server_type p_server); + void disconnect_from_server(); public slots: void get_server_list(const std::function<void()> &cb); void ship_server_packet(QString p_packet); - void handle_server_packet(); + void handle_server_packet(const QString& p_data); void request_document(MSDocumentType document_type, const std::function<void(QString)> &cb); |
