Initial commit
This commit is contained in:
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
|
||||
Reference in new issue
Block a user