rtspTransmit/includes/rtcp/rtc/websocketserver.hpp

49 lines
943 B
C++
Raw Normal View History

2024-03-21 16:36:26 +08:00
/**
* Copyright (c) 2021 Paul-Louis Ageneau
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
#ifndef RTC_WEBSOCKETSERVER_H
#define RTC_WEBSOCKETSERVER_H
#if RTC_ENABLE_WEBSOCKET
#include "common.hpp"
#include "configuration.hpp"
#include "websocket.hpp"
namespace rtc {
namespace impl {
struct WebSocketServer;
}
class RTC_CPP_EXPORT WebSocketServer final : private CheshireCat<impl::WebSocketServer> {
public:
using Configuration = WebSocketServerConfiguration;
WebSocketServer();
WebSocketServer(Configuration config);
~WebSocketServer();
void stop();
uint16_t port() const;
void onClient(std::function<void(shared_ptr<WebSocket>)> callback);
private:
using CheshireCat<impl::WebSocketServer>::impl;
};
} // namespace rtc
#endif
#endif // RTC_WEBSOCKET_H