LeviLamina
Loading...
Searching...
No Matches
PacketSocketFactory.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7namespace rtc { class AsyncListenSocket; }
8namespace rtc { class AsyncPacketSocket; }
9namespace rtc { class SocketAddress; }
10namespace rtc { struct PacketSocketTcpOptions; }
11namespace rtc { struct ProxyInfo; }
12namespace webrtc { class AsyncDnsResolverInterface; }
13// clang-format on
14
15namespace rtc {
16
18public:
19 // PacketSocketFactory inner types define
20 enum class Options : int {
21 // bitfield representation
22 TlsFake = 1 << 0,
23 Ssltcp = 1 << 0,
24 Tls = 1 << 1,
25 Stun = 1 << 2,
26 TlsInsecure = 1 << 3,
27 };
28
29public:
30 // virtual functions
31 // NOLINTBEGIN
32 virtual ~PacketSocketFactory() = default;
33
34 virtual ::std::unique_ptr<::rtc::AsyncPacketSocket>
35 CreateUdpSocket(::rtc::SocketAddress const&, ushort, ushort) = 0;
36
37 virtual ::std::shared_ptr<::rtc::AsyncPacketSocket>
38 CreateGlobalUdpSocket(::rtc::SocketAddress const&, ushort, ushort) = 0;
39
40 virtual ::std::unique_ptr<::rtc::AsyncListenSocket>
41 CreateServerTcpSocket(::rtc::SocketAddress const&, ushort, ushort, int) = 0;
42
43 virtual ::std::unique_ptr<::rtc::AsyncPacketSocket> CreateClientTcpSocket(
46 ::rtc::ProxyInfo const&,
47 ::std::string const&,
49 ) = 0;
50
51 virtual ::std::unique_ptr<::webrtc::AsyncDnsResolverInterface> CreateAsyncDnsResolver() = 0;
52 // NOLINTEND
53
54public:
55 // virtual function thunks
56 // NOLINTBEGIN
57
58 // NOLINTEND
59};
60
61} // namespace rtc
Definition AsyncListenSocket.h:16
Definition AsyncPacketSocket.h:20
Definition PacketSocketFactory.h:17
Definition SocketAddress.h:12
Definition AsyncDnsResolverInterface.h:16
Definition PacketSocketTcpOptions.h:7
Definition ProxyInfo.h:7