ladybird/Ladybird/Qt/WebSocketQt.h
Andrew Kaster 391beef707 Ladybird: Move Qt-specific classes and functions to a Qt subdirectory
This will help a lot with developing chromes for different UI frameworks
where we can see which helper classes and processes are really using Qt
vs just using it to get at helper data.

As a bonus, remove Qt dependency from WebDriver.
2023-08-07 14:58:04 -06:00

36 lines
984 B
C++

/*
* Copyright (c) 2022, Dex♪ <dexes.ttp@gmail.com>
* Copyright (c) 2022, Andreas Kling <kling@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <LibWeb/WebSockets/WebSocket.h>
#include <LibWebSocket/WebSocket.h>
namespace Ladybird {
class WebSocketQt
: public Web::WebSockets::WebSocketClientSocket
, public Weakable<WebSocketQt> {
public:
static NonnullRefPtr<WebSocketQt> create(NonnullRefPtr<WebSocket::WebSocket>);
virtual ~WebSocketQt() override;
virtual Web::WebSockets::WebSocket::ReadyState ready_state() override;
virtual DeprecatedString subprotocol_in_use() override;
virtual void send(ByteBuffer binary_or_text_message, bool is_text) override;
virtual void send(StringView message) override;
virtual void close(u16 code, DeprecatedString reason) override;
private:
explicit WebSocketQt(NonnullRefPtr<WebSocket::WebSocket>);
NonnullRefPtr<WebSocket::WebSocket> m_websocket;
};
}