working websocket

This commit is contained in:
marios8543 2025-04-25 18:18:51 +03:00
parent 381dcfa102
commit 58f7c65875
3 changed files with 13 additions and 2 deletions

View File

@ -42,7 +42,7 @@ add_definitions(-DBOOST_ALL_DYN_LINK)
find_package(Boost REQUIRED COMPONENTS system log OPTIONAL_COMPONENTS unit_test_framework) find_package(Boost REQUIRED COMPONENTS system log OPTIONAL_COMPONENTS unit_test_framework)
find_package(libusb-1.0 REQUIRED) find_package(libusb-1.0 REQUIRED)
find_package(Qt5 COMPONENTS Multimedia MultimediaWidgets Bluetooth Qml Quick QuickWidgets REQUIRED) find_package(Qt5 COMPONENTS Multimedia MultimediaWidgets Bluetooth Qml Quick QuickWidgets WebSockets REQUIRED)
find_package(Protobuf REQUIRED) find_package(Protobuf REQUIRED)
find_package(OpenSSL REQUIRED) find_package(OpenSSL REQUIRED)
find_package(rtaudio REQUIRED) find_package(rtaudio REQUIRED)

View File

@ -18,6 +18,7 @@ target_include_directories(autoapp PRIVATE
) )
target_link_libraries(autoapp target_link_libraries(autoapp
Qt5::WebSockets
openauto openauto
) )

View File

@ -19,6 +19,10 @@
#include <QApplication> #include <QApplication>
#include <QtWebSockets/QWebSocket> #include <QtWebSockets/QWebSocket>
#include <QDebug> #include <QDebug>
#include <QTimer>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonParseError>
#include "autoapp/UI/MainWindow.hpp" #include "autoapp/UI/MainWindow.hpp"
#include "ui_mainwindow.h" #include "ui_mainwindow.h"
@ -91,7 +95,13 @@ void autoapp::ui::MainWindow::handleIncomingMessage(const QString &message)
{ {
qDebug() << "[Handler] Processing message:" << message; qDebug() << "[Handler] Processing message:" << message;
QJsonParseError error;
QJsonDocument doc = QJsonDocument::fromJson(message.toUtf8(), &error); QJsonDocument doc = QJsonDocument::fromJson(message.toUtf8(), &error);
if (error.error != QJsonParseError::NoError) {
qDebug() << "JSON parse error:" << error.errorString();
return;
}
QJsonObject rootObj = doc.object(); QJsonObject rootObj = doc.object();
if (rootObj.contains("bluetooth")) { if (rootObj.contains("bluetooth")) {
ui_->stackedWidget->setCurrentIndex(0); ui_->stackedWidget->setCurrentIndex(0);