LeviLamina
Loading...
Searching...
No Matches
INetherNetTransportInterface.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/nether_net/ESendType.h"
7
8// auto generated forward declare list
9// clang-format off
10namespace Bedrock::PubSub { class Subscription; }
11namespace NetherNet { class ISignalingInterface; }
12namespace NetherNet { struct ILanEventHandler; }
13namespace NetherNet { struct ISignalingEventHandler; }
14namespace NetherNet { struct NetworkID; }
15namespace NetherNet { struct SessionState; }
16namespace NetherNet { struct StunRelayServer; }
17// clang-format on
18
19namespace NetherNet {
20
22public:
23 // virtual functions
24 // NOLINTBEGIN
25 // vIndex: 0
26 virtual ~INetherNetTransportInterface() = default;
27
28 // vIndex: 1
29 virtual bool SendPacket(::NetherNet::NetworkID, uint64, ::std::string const&, ::NetherNet::ESendType) = 0;
30
31 // vIndex: 2
32 virtual bool IsPacketAvailable(::NetherNet::NetworkID, uint64, uint*) = 0;
33
34 // vIndex: 3
35 virtual bool ReadPacket(
37 uint64 connectionId,
38 void* pubDest,
39 uint cbDest,
40 uint* pcbMessageSize
41 ) = 0;
42
43 // vIndex: 4
44 virtual bool OpenSessionWithUser(::NetherNet::NetworkID) = 0;
45
46 // vIndex: 5
47 virtual bool CloseSessionWithUser(::NetherNet::NetworkID, uint64) = 0;
48
49 // vIndex: 6
50 virtual bool GetSessionState(
52 uint64 connectionId,
53 ::NetherNet::SessionState* pConnectionState
54 ) = 0;
55
56 // vIndex: 7
57 virtual void SetSignalingInterface(::std::shared_ptr<::NetherNet::ISignalingInterface> const&) = 0;
58
59 // vIndex: 8
60 virtual void SetRelayConfig(::std::vector<::NetherNet::StunRelayServer> const&) = 0;
61
62 // vIndex: 9
63 virtual bool IsBroadcastDiscoveryEnabled() = 0;
64
65 // vIndex: 10
66 virtual void EnableBroadcastDiscovery() = 0;
67
68 // vIndex: 11
69 virtual void DisableBroadcastDiscovery() = 0;
70
71 // vIndex: 12
72 virtual void EnableLANSignaling() = 0;
73
74 // vIndex: 13
75 virtual void DisableLANSignaling() = 0;
76
77 // vIndex: 15
78 virtual ::Bedrock::PubSub::Subscription RegisterEventHandler(::NetherNet::ISignalingEventHandler*) = 0;
79
80 // vIndex: 14
81 virtual ::Bedrock::PubSub::Subscription RegisterEventHandler(::NetherNet::ILanEventHandler*) = 0;
82 // NOLINTEND
83
84public:
85 // virtual function thunks
86 // NOLINTBEGIN
87
88 // NOLINTEND
89};
90
91} // namespace NetherNet
Definition INetherNetTransportInterface.h:21
Definition ILanEventHandler.h:15
Definition ISignalingEventHandler.h:12
Definition NetworkID.h:17
Definition SessionState.h:7