Serenity Operating System
at master 34 lines 1.1 kB view raw
1/* 2 * Copyright (c) 2022, Dex♪ <dexes.ttp@gmail.com> 3 * Copyright (c) 2022, Andreas Kling <kling@serenityos.org> 4 * 5 * SPDX-License-Identifier: BSD-2-Clause 6 */ 7 8#include "WebSocketClientManagerLadybird.h" 9#include "WebSocketImplQt.h" 10#include "WebSocketLadybird.h" 11 12namespace Ladybird { 13 14NonnullRefPtr<WebSocketClientManagerLadybird> WebSocketClientManagerLadybird::create() 15{ 16 return adopt_ref(*new WebSocketClientManagerLadybird()); 17} 18 19WebSocketClientManagerLadybird::WebSocketClientManagerLadybird() = default; 20WebSocketClientManagerLadybird::~WebSocketClientManagerLadybird() = default; 21 22RefPtr<Web::WebSockets::WebSocketClientSocket> WebSocketClientManagerLadybird::connect(AK::URL const& url, DeprecatedString const& origin, Vector<DeprecatedString> const& protocols) 23{ 24 WebSocket::ConnectionInfo connection_info(url); 25 connection_info.set_origin(origin); 26 connection_info.set_protocols(protocols); 27 28 auto impl = adopt_ref(*new WebSocketImplQt); 29 auto web_socket = WebSocket::WebSocket::create(move(connection_info), move(impl)); 30 web_socket->start(); 31 return WebSocketLadybird::create(web_socket); 32} 33 34}