Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
TCPConnection.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/sigslot/has_slots.h"
7#include "mc/external/sigslot/single_threaded.h"
8#include "mc/external/webrtc/Connection.h"
9#include "mc/external/webrtc/WeakPtr.h"
10
11// auto generated forward declare list
12// clang-format off
13namespace webrtc { class AsyncPacketSocket; }
14namespace webrtc { class Candidate; }
15namespace webrtc { class Environment; }
16namespace webrtc { class Port; }
17namespace webrtc { class StunMessage; }
18namespace webrtc { class StunRequest; }
19namespace webrtc { struct AsyncSocketPacketOptions; }
20namespace webrtc { struct SentPacketInfo; }
21// clang-format on
22
23namespace webrtc {
24
25class TCPConnection : public ::webrtc::Connection, public ::sigslot::has_slots<::sigslot::single_threaded> {
26public:
27 // member variables
28 // NOLINTBEGIN
36 // NOLINTEND
37
38public:
39 // prevent constructor by default
40 TCPConnection& operator=(TCPConnection const&);
41 TCPConnection(TCPConnection const&);
42 TCPConnection();
43
44public:
45 // virtual functions
46 // NOLINTBEGIN
47 virtual ~TCPConnection() /*override*/ = default;
48
49 virtual int Send(void const* data, uint64 size, ::webrtc::AsyncSocketPacketOptions const& options) /*override*/;
50
51 virtual int GetError() /*override*/;
52
53 virtual void OnConnectionRequestResponse(::webrtc::StunRequest* req, ::webrtc::StunMessage* response) /*override*/;
54 // NOLINTEND
55
56public:
57 // member functions
58 // NOLINTBEGIN
60
62
64
65 MCNAPI void MaybeReconnect();
66
67 MCNAPI void OnClose(::webrtc::AsyncPacketSocket* socket, int error);
68
70
72
74
75 MCNAPI void OnSentPacket(::webrtc::AsyncPacketSocket* socket, ::webrtc::SentPacketInfo const& sent_packet);
76
78 ::webrtc::Environment const& env,
80 ::webrtc::Candidate const& candidate,
82 );
83 // NOLINTEND
84
85public:
86 // constructor thunks
87 // NOLINTBEGIN
88 MCNAPI void* $ctor(
89 ::webrtc::Environment const& env,
91 ::webrtc::Candidate const& candidate,
93 );
94 // NOLINTEND
95
96public:
97 // virtual function thunks
98 // NOLINTBEGIN
99 MCNAPI int $Send(void const* data, uint64 size, ::webrtc::AsyncSocketPacketOptions const& options);
100
101 MCNAPI int $GetError();
102
104
105
106 // NOLINTEND
107
108public:
109 // vftables
110 // NOLINTBEGIN
111 MCNAPI static void** $vftableForConnection();
112
113 MCNAPI static void** $vftableForHasSlots();
114 // NOLINTEND
115};
116
117} // namespace webrtc
Definition has_slots.h:8
Definition AsyncPacketSocket.h:20
Definition Candidate.h:12
Definition Connection.h:35
Definition Environment.h:7
Definition Port.h:37
Definition StunMessage.h:24
Definition StunRequest.h:15
MCAPI void OnClose(::webrtc::AsyncPacketSocket *socket, int error)
static MCAPI void ** $vftableForConnection()
MCAPI void OnSentPacket(::webrtc::AsyncPacketSocket *socket, ::webrtc::SentPacketInfo const &sent_packet)
MCAPI void OnReadyToSend(::webrtc::AsyncPacketSocket *socket)
MCAPI void DisconnectSocketSignals(::webrtc::AsyncPacketSocket *socket)
MCAPI void OnDestroyed(::webrtc::Connection *c)
MCAPI void $OnConnectionRequestResponse(::webrtc::StunRequest *req, ::webrtc::StunMessage *response)
MCAPI void * $ctor(::webrtc::Environment const &env, ::webrtc::WeakPtr<::webrtc::Port > tcp_port, ::webrtc::Candidate const &candidate, ::webrtc::AsyncPacketSocket *socket)
MCAPI void ConnectSocketSignals(::webrtc::AsyncPacketSocket *socket)
MCAPI void OnConnect(::webrtc::AsyncPacketSocket *socket)
static MCAPI void ** $vftableForHasSlots()
MCAPI TCPConnection(::webrtc::Environment const &env, ::webrtc::WeakPtr<::webrtc::Port > tcp_port, ::webrtc::Candidate const &candidate, ::webrtc::AsyncPacketSocket *socket)
MCAPI void MaybeReconnect()
MCAPI void CreateOutgoingTcpSocket()
MCAPI int $Send(void const *data, uint64 size, ::webrtc::AsyncSocketPacketOptions const &options)
Definition WeakPtr.h:8
Definition Alias.h:14
Definition AsyncSocketPacketOptions.h:10
Definition SentPacketInfo.h:12