Initial commit

This commit is contained in:
torsten committed 2026-08-13 18:33:10 +02:00
commit b7d90b9afe
16245 files changed
+3396666

No files matched your search

@@ -0,0 +1,33 @@
#include "pws_web_socket_client.h"
#include <LtsProjectionWorkstation/WebSocket/message_factory.h>
namespace ProjectionWorkstation
{
WebSocketClient::WebSocketClient(LtsProjectionWorkstation::MessageFactory *messageFactory, QObject *parent)
: LtsWebSocket::ClientConnection(nullptr, parent)
, m_messageFactory(messageFactory)
{
connect(this, &LtsWebSocket::ClientConnection::newTextMessage, this, &WebSocketClient::onNewTextMessage);
init();
}
void WebSocketClient::onNewTextMessage(LtsWebSocket::ClientConnection *client, const QString &message)
{
LtsWebSocket::AbstractClientMessage *clientMessage = nullptr;
auto result = m_messageFactory->parseMessage(message);
if (QJsonParseError::NoError == result.error)
clientMessage = m_messageFactory->createMessage(client, message);
else
{
// WARNING_LOG(m_logger) << "Could not parse incoming message: '" << message << "', error: " << result.errorString();
clientMessage = new LtsWebSocket::InvalidMessage(client, QString(), QStringLiteral("Got message which is not JSON conform"));
}
if (clientMessage)
clientMessage->process();
delete clientMessage;
}
} // ProjectionWorkstation
@@ -0,0 +1,23 @@
#pragma once
#include <LtsWebSocket/client_connection.h>
namespace LtsProjectionWorkstation { class MessageFactory; }
namespace ProjectionWorkstation
{
class WebSocketClient : public LtsWebSocket::ClientConnection
{
Q_OBJECT
public:
explicit WebSocketClient(LtsProjectionWorkstation::MessageFactory *messageFactory, QObject *parent = nullptr);
public slots:
void onNewTextMessage(ClientConnection *client, const QString &message);
private:
LtsProjectionWorkstation::MessageFactory *m_messageFactory;
};
} // ProjectionWorstation