LeviLamina
Loading...
Searching...
No Matches
RakPeerInterface.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/raknet/ConnectionAttemptResult.h"
7#include "mc/deps/raknet/ConnectionState.h"
8#include "mc/deps/raknet/PacketPriority.h"
9#include "mc/deps/raknet/PacketReliability.h"
10#include "mc/deps/raknet/StartupResult.h"
11#include "mc/deps/raknet/data_structures/List.h"
12
13// auto generated forward declare list
14// clang-format off
15namespace RakNet { class BitStream; }
16namespace RakNet { class PluginInterface2; }
17namespace RakNet { class RakNetSocket2; }
18namespace RakNet { class ShadowBanList; }
19namespace RakNet { struct AddressOrGUID; }
20namespace RakNet { struct NetworkAdapter; }
21namespace RakNet { struct Packet; }
22namespace RakNet { struct PublicKey; }
23namespace RakNet { struct RNS2RecvStruct; }
24namespace RakNet { struct RakNetGUID; }
25namespace RakNet { struct RakNetStatistics; }
26namespace RakNet { struct SocketDescriptor; }
27namespace RakNet { struct SystemAddress; }
28// clang-format on
29
30namespace RakNet {
31
33public:
34 // virtual functions
35 // NOLINTBEGIN
36 virtual ~RakPeerInterface();
37
38 virtual void InitializeConfiguration(::std::unique_ptr<::RakNet::ShadowBanList> banList) = 0;
39
40 virtual ::RakNet::StartupResult Startup(
41 uint maxConnections,
42 ::RakNet::SocketDescriptor* socketDescriptors,
43 uint socketDescriptorCount,
44 int threadPriority
45 ) = 0;
46
47 virtual bool InitializeSecurity(char const* public_key, char const* private_key, bool bRequireClientKey) = 0;
48
49 virtual void DisableSecurity() = 0;
50
51 virtual void AddToSecurityExceptionList(char const* ip) = 0;
52
53 virtual void RemoveFromSecurityExceptionList(char const* ip) = 0;
54
55 virtual bool IsInSecurityExceptionList(char const* ip) = 0;
56
57 virtual void SetMaximumIncomingConnections(ushort numberAllowed) = 0;
58
59 virtual uint GetMaximumIncomingConnections() const = 0;
60
61 virtual ushort NumberOfConnections() const = 0;
62
63 virtual void SetIncomingPassword(char const* passwordData, int passwordDataLength) = 0;
64
65 virtual void GetIncomingPassword(char* passwordData, int* passwordDataLength) = 0;
66
67 virtual ::RakNet::ConnectionAttemptResult Connect(
68 char const* host,
69 ushort remotePort,
70 char const* passwordData,
71 int passwordDataLength,
72 ::RakNet::PublicKey* publicKey,
73 uint connectionSocketIndex,
74 uint sendConnectionAttemptCount,
75 uint timeBetweenSendConnectionAttemptsMS,
76 uint timeoutTime
77 ) = 0;
78
79 virtual ::RakNet::ConnectionAttemptResult ConnectWithSocket(
80 char const* host,
81 ushort remotePort,
82 char const* passwordData,
83 int passwordDataLength,
85 ::RakNet::PublicKey* publicKey,
86 uint sendConnectionAttemptCount,
87 uint timeBetweenSendConnectionAttemptsMS,
88 uint timeoutTime
89 ) = 0;
90
91 virtual void
92 Shutdown(uint blockDuration, uchar orderingChannel, ::PacketPriority disconnectionNotificationPriority) = 0;
93
94 virtual bool SetApplicationHandshakeCompleted(::RakNet::AddressOrGUID systemIdentifier) = 0;
95
96 virtual bool IsActive() const = 0;
97
98 virtual bool GetConnectionList(::RakNet::SystemAddress* remoteSystems, ushort* numberOfSystems) const = 0;
99
100 virtual uint GetNextSendReceipt() = 0;
101
102 virtual uint IncrementNextSendReceipt() = 0;
103
104 virtual uint Send(
105 char const* data,
106 int const length,
107 ::PacketPriority priority,
108 ::PacketReliability reliability,
109 char orderingChannel,
110 ::RakNet::AddressOrGUID const systemIdentifier,
111 bool broadcast,
112 uint forceReceiptNumber
113 ) = 0;
114
115 virtual uint Send(
116 ::RakNet::BitStream const* bitStream,
117 ::PacketPriority priority,
118 ::PacketReliability reliability,
119 char orderingChannel,
120 ::RakNet::AddressOrGUID const systemIdentifier,
121 bool broadcast,
122 uint forceReceiptNumber
123 ) = 0;
124
125 virtual void SendLoopback(char const* data, int const length) = 0;
126
127 virtual uint SendList(
128 char const** data,
129 int const* lengths,
130 int const numParameters,
131 ::PacketPriority priority,
132 ::PacketReliability reliability,
133 char orderingChannel,
134 ::RakNet::AddressOrGUID const systemIdentifier,
135 bool broadcast,
136 uint forceReceiptNumber
137 ) = 0;
138
139 virtual ::RakNet::Packet* Receive() = 0;
140
141 virtual void DeallocatePacket(::RakNet::Packet* packet) = 0;
142
143 virtual uint GetMaximumNumberOfPeers() const = 0;
144
145 virtual void CloseConnection(
146 ::RakNet::AddressOrGUID const target,
147 bool sendDisconnectionNotification,
148 uchar orderingChannel,
149 ::PacketPriority disconnectionNotificationPriority
150 ) = 0;
151
152 virtual ::RakNet::ConnectionState GetConnectionState(::RakNet::AddressOrGUID const systemIdentifier) = 0;
153
154 virtual void CancelConnectionAttempt(::RakNet::SystemAddress const target) = 0;
155
156 virtual int GetIndexFromSystemAddress(::RakNet::SystemAddress const systemAddress) const = 0;
157
158 virtual ::RakNet::SystemAddress GetSystemAddressFromIndex(uint index) = 0;
159
160 virtual ::RakNet::RakNetGUID GetGUIDFromIndex(uint index) = 0;
161
162 virtual void GetSystemList(
165 ) const = 0;
166
167 virtual void AddToBanList(char const* IP, uint milliseconds) = 0;
168
169 virtual void RemoveFromBanList(char const* IP) = 0;
170
171 virtual void ClearBanList() = 0;
172
173 virtual bool IsBanned(char const* IP) = 0;
174
175 virtual void SetLimitIPConnectionFrequency(bool b) = 0;
176
177 virtual void Ping(::RakNet::SystemAddress const target) = 0;
178
179 virtual bool
180 Ping(char const* host, ushort remotePort, bool onlyReplyOnAcceptingConnections, uint connectionSocketIndex) = 0;
181
182 virtual void SendNatTraversalMessage(::RakNet::SystemAddress const target) = 0;
183
184 virtual int GetAveragePing(::RakNet::AddressOrGUID const systemIdentifier) = 0;
185
186 virtual int GetLastPing(::RakNet::AddressOrGUID const systemIdentifier) const = 0;
187
188 virtual int GetLowestPing(::RakNet::AddressOrGUID const systemIdentifier) const = 0;
189
190 virtual void SetOccasionalPing(bool doPing) = 0;
191
192 virtual uint64 GetClockDifferential(::RakNet::AddressOrGUID const systemIdentifier) = 0;
193
194 virtual void SetAllowUnconnectedPings(bool unconnectedPings) = 0;
195
196 virtual bool GetAllowUnconnectedPings() const = 0;
197
198 virtual void SetOfflinePingResponse(char const* data, uint const length) = 0;
199
200 virtual void GetOfflinePingResponse(char** data, uint* length) = 0;
201
202 virtual ::RakNet::SystemAddress
203 GetInternalID(::RakNet::SystemAddress const systemAddress, int const index) const = 0;
204
205 virtual void SetInternalID(::RakNet::SystemAddress systemAddress, int index) = 0;
206
207 virtual ::RakNet::SystemAddress GetExternalID(::RakNet::SystemAddress const target) const = 0;
208
209 virtual ::RakNet::RakNetGUID const GetMyGUID() const = 0;
210
211 virtual void resetMyGUID() = 0;
212
213 virtual ::RakNet::SystemAddress GetMyBoundAddress(int const socketIndex) = 0;
214
215 virtual ::RakNet::RakNetGUID const& GetGuidFromSystemAddress(::RakNet::SystemAddress const input) const = 0;
216
217 virtual ::RakNet::SystemAddress GetSystemAddressFromGuid(::RakNet::RakNetGUID const input) const = 0;
218
219 virtual bool
220 GetClientPublicKeyFromSystemAddress(::RakNet::SystemAddress const input, char* client_public_key) const = 0;
221
222 virtual void SetTimeoutTime(uint timeMS, ::RakNet::SystemAddress const target) = 0;
223
224 virtual uint GetTimeoutTime(::RakNet::SystemAddress const target) = 0;
225
226 virtual int GetMTUSize(::RakNet::SystemAddress const target) const = 0;
227
228 virtual uint GetNumberOfAdapters() = 0;
229
230 virtual ::RakNet::NetworkAdapter& GetLocalAdapter(uint index) = 0;
231
232 virtual uint GetNumberOfAddresses() = 0;
233
234 virtual char const* GetLocalIP(uint index) = 0;
235
236 virtual bool IsLocalIP(char const* ip) = 0;
237
238 virtual void AllowConnectionResponseIPMigration(bool allow) = 0;
239
240 virtual bool AdvertiseSystem(
241 char const* host,
242 ushort remotePort,
243 char const* data,
244 int dataLength,
245 uint connectionSocketIndex
246 ) = 0;
247
248 virtual void SetSplitMessageProgressInterval(int interval) = 0;
249
250 virtual int GetSplitMessageProgressInterval() const = 0;
251
252 virtual void SetUnreliableTimeout(uint timeoutMS) = 0;
253
254 virtual void SendTTL(char const* host, ushort remotePort, int ttl, uint connectionSocketIndex) = 0;
255
256 virtual void AttachPlugin(::RakNet::PluginInterface2* plugin) = 0;
257
258 virtual void DetachPlugin(::RakNet::PluginInterface2* plugin) = 0;
259
260 virtual void PushBackPacket(::RakNet::Packet* packet, bool pushAtHead) = 0;
261
262 virtual void ChangeSystemAddress(::RakNet::RakNetGUID guid, ::RakNet::SystemAddress const& systemAddress) = 0;
263
264 virtual ::RakNet::Packet* AllocatePacket(uint dataSize) = 0;
265
266 virtual ::RakNet::RakNetSocket2* GetSocket(::RakNet::SystemAddress const target) = 0;
267
268 virtual void GetSockets(::DataStructures::List<::RakNet::RakNetSocket2*>& sockets) = 0;
269
270 virtual void ReleaseSockets(::DataStructures::List<::RakNet::RakNetSocket2*>& sockets) = 0;
271
272 virtual void WriteOutOfBandHeader(::RakNet::BitStream* bitStream) = 0;
273
274 virtual void SetUserUpdateThread(
275 void (*_userUpdateThreadPtr)(::RakNet::RakPeerInterface*, void*),
276 void* _userUpdateThreadData
277 ) = 0;
278
279 virtual void SetIncomingDatagramEventHandler(bool (*_incomingDatagramEventHandler)(::RakNet::RNS2RecvStruct*)) = 0;
280
281 virtual void ApplyNetworkSimulator(float packetloss, ushort minExtraPing, ushort extraPingVariance) = 0;
282
283 virtual void SetPerConnectionOutgoingBandwidthLimit(uint maxBitsPerSecond) = 0;
284
285 virtual bool IsNetworkSimulatorActive() = 0;
286
287 virtual ::RakNet::RakNetStatistics*
288 GetStatistics(::RakNet::SystemAddress const systemAddress, ::RakNet::RakNetStatistics* rns) = 0;
289
290 virtual bool GetStatistics(uint const index, ::RakNet::RakNetStatistics* rns) = 0;
291
292 virtual void GetStatisticsList(
296 ) = 0;
297
298 virtual uint GetReceiveBufferSize() = 0;
299
300 virtual bool RunUpdateCycle(::RakNet::BitStream& updateBitStream) = 0;
301
302 virtual bool SendOutOfBand(
303 char const* host,
304 ushort remotePort,
305 char const* data,
306 uint dataLength,
307 uint connectionSocketIndex
308 ) = 0;
309 // NOLINTEND
310
311public:
312 // static functions
313 // NOLINTBEGIN
314 MCAPI static uint64 Get64BitUniqueRandomNumber();
315 // NOLINTEND
316
317public:
318 // destructor thunk
319 // NOLINTBEGIN
320 MCAPI void $dtor();
321 // NOLINTEND
322
323public:
324 // virtual function thunks
325 // NOLINTBEGIN
326
327 // NOLINTEND
328
329public:
330 // vftables
331 // NOLINTBEGIN
332 MCNAPI static void** $vftable();
333 // NOLINTEND
334};
335
336} // namespace RakNet
Definition List.h:8
Definition BitStream.h:7
Definition PluginInterface2.h:20
Definition RakNetSocket2.h:12
Definition RakPeerInterface.h:32
static MCAPI void ** $vftable()
Definition ShadowBanList.h:12
Definition AddressOrGUID.h:11
Definition NetworkAdapter.h:7
Definition Packet.h:7
Definition PublicKey.h:7
Definition RNS2RecvStruct.h:15
Definition RakNetGUID.h:7
Definition RakNetStatistics.h:7
Definition SocketDescriptor.h:7
Definition SystemAddress.h:7