/
githubmr
/
facebook-react-native
Обзор
Документация
Войти
/
githubmr
/
facebook-react-native
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
packages/react-native/ReactCxxPlatform/react/http/IWebSocketClient.h
48 строк
1 KB
Rubén Norte
Allow custom factories for HTTP and WebSocket clients for DevTools (#53200)
12 авг 2025, 15:41
12 авг 2025, 15:41
4978385
Код
Авторство
О чём код?
/* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ #pragma once #include <functional> #include <memory> #include <string> namespace facebook::react { class IWebSocketClient { public: using OnConnectCallback = std::function<void(bool, const std::string&)>; using OnClosedCallback = std::function<void(const std::string&)>; using OnMessageCallback = std::function<void(const std::string&)>; virtual ~IWebSocketClient() = default; virtual void setOnClosedCallback(OnClosedCallback&& callback) noexcept = 0; virtual void setOnMessageCallback(OnMessageCallback&& callback) noexcept = 0; virtual void connect( const std::string& url, OnConnectCallback&& = nullptr) = 0; virtual void close(const std::string& reason) = 0; virtual void send(const std::string& message) = 0; virtual void ping() = 0; }; extern const char WebSocketClientFactoryKey[]; extern const char DevToolsWebSocketClientFactoryKey[]; using WebSocketClientFactory = std::function<std::unique_ptr<IWebSocketClient>()>; WebSocketClientFactory getWebSocketClientFactory(); } // namespace facebook::react