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 virtual ~INetherNetTransportInterface() = default;
26
27 virtual bool SendPacket(::NetherNet::NetworkID, uint64, ::std::string const&, ::NetherNet::ESendType) = 0;
28
29 virtual bool IsPacketAvailable(::NetherNet::NetworkID, uint64, uint*) = 0;
30
31 virtual bool ReadPacket(
33 uint64 connectionId,
34 void* pubDest,
35 uint cbDest,
36 uint* pcbMessageSize
37 ) = 0;
38
39 virtual bool OpenSessionWithUser(::NetherNet::NetworkID) = 0;
40
41 virtual bool CloseSessionWithUser(::NetherNet::NetworkID, uint64) = 0;
42
43 virtual bool GetSessionState(
45 uint64 connectionId,
46 ::NetherNet::SessionState* pConnectionState
47 ) = 0;
48
49 virtual void SetSignalingInterface(::std::shared_ptr<::NetherNet::ISignalingInterface> const&) = 0;
50
51 virtual void SetRelayConfig(::std::vector<::NetherNet::StunRelayServer> const&) = 0;
52
53 virtual bool IsBroadcastDiscoveryEnabled() = 0;
54
55 virtual void EnableBroadcastDiscovery() = 0;
56
57 virtual void DisableBroadcastDiscovery() = 0;
58
59 virtual void EnableLANSignaling() = 0;
60
61 virtual void DisableLANSignaling() = 0;
62
63 virtual void EnableTrickleIce() = 0;
64
65 virtual void DisableTrickleIce() = 0;
66
67 virtual ::Bedrock::PubSub::Subscription RegisterEventHandler(::NetherNet::ISignalingEventHandler*) = 0;
68
69 virtual ::Bedrock::PubSub::Subscription RegisterEventHandler(::NetherNet::ILanEventHandler*) = 0;
70 // NOLINTEND
71
72public:
73 // virtual function thunks
74 // NOLINTBEGIN
75
76 // NOLINTEND
77};
78
79} // namespace NetherNet
Definition Subscription.h:10
Definition INetherNetTransportInterface.h:21
Definition ISignalingInterface.h:17
Definition ILanEventHandler.h:15
Definition ISignalingEventHandler.h:12
Definition NetworkID.h:17
Definition SessionState.h:7
Definition StunRelayServer.h:7