/* * Copyright (c) 2022, Dex♪ * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include namespace Protocol { class WebSocket; class RequestClient; }; namespace WebView { class WebSocketClientSocketAdapter : public Web::WebSockets::WebSocketClientSocket , public Weakable { public: static RefPtr create(NonnullRefPtr); virtual ~WebSocketClientSocketAdapter() override; virtual Web::WebSockets::WebSocket::ReadyState ready_state() override; virtual ByteString subprotocol_in_use() override; virtual void send(ByteBuffer binary_or_text_message, bool is_text) override; virtual void send(StringView text_message) override; virtual void close(u16 code = 1005, ByteString reason = {}) override; private: WebSocketClientSocketAdapter(NonnullRefPtr); NonnullRefPtr m_websocket; }; }