3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/nether_net/ContextProxy.h"
7#include "mc/deps/nether_net/ESendType.h"
8#include "mc/deps/nether_net/ESessionError.h"
9#include "mc/deps/nether_net/ILanEventHandler.h"
10#include "mc/deps/nether_net/INetherNetTransportInterface.h"
11#include "mc/deps/nether_net/ISignalingEventHandler.h"
12#include "mc/deps/nether_net/SignalingChannelId.h"
13#include "mc/deps/nether_net/utils/ErrorOr.h"
14#include "mc/external/webrtc/PeerConnectionInterface.h"
64 SimpleNetworkInterfaceImpl& operator=(SimpleNetworkInterfaceImpl
const&);
65 SimpleNetworkInterfaceImpl(SimpleNetworkInterfaceImpl
const&);
66 SimpleNetworkInterfaceImpl();
71 virtual ~SimpleNetworkInterfaceImpl() =
default;
73 virtual bool SendPacket(
76 ::std::string
const& data,
77 ::NetherNet::ESendType eSendType
83 virtual bool ReadPacket(
91 virtual bool OpenSessionWithUser(
93 ::std::shared_ptr<::NetherNet::IIdentityAssertionGenerator> identityGenerator
97 SetIdentityGenerator(::std::shared_ptr<::NetherNet::IIdentityAssertionGenerator> identityGenerator) ;
101 virtual bool GetSessionState(
107 virtual void SetSignalingInterface(
108 ::std::shared_ptr<::NetherNet::ISignalingInterface>
const& pWebRTCSignalingInterface
111 virtual void SetRelayConfig(::std::vector<::NetherNet::StunRelayServer>
const& config) ;
113 virtual ::Bedrock::PubSub::Subscription
118 virtual bool IsBroadcastDiscoveryEnabled() ;
120 virtual void EnableBroadcastDiscovery() ;
122 virtual void DisableBroadcastDiscovery() ;
128 virtual void EnableLANSignaling() ;
130 virtual void DisableLANSignaling() ;
132 virtual void EnableTrickleIce() ;
134 virtual void DisableTrickleIce() ;
152 MCAPI
void ReceiveFromSignalingChannel(
154 ::std::string_view message,
155 ::NetherNet::SignalingChannelId sourceChannel
158 MCAPI ::NetherNet::ErrorOr<void, ::NetherNet::ESessionError> SendToSignalingChannel(
165 ::std::optional<::NetherNet::SignalingChannelId> preference
191 ::std::string
const& data,
192 ::NetherNet::ESendType eSendType
202 ::std::shared_ptr<::NetherNet::IIdentityAssertionGenerator> identityGenerator
218 MCNAPI
void $SetRelayConfig(::std::vector<::NetherNet::StunRelayServer>
const& config);
Definition Subscription.h:10
Definition CandidateAdd.h:7
Definition ConnectError.h:7
Definition ConnectRequest.h:7
Definition ConnectResponse.h:7
Definition ContextProxy.h:18
Definition IIdentityAssertionGenerator.h:7
Definition INetherNetTransportInterfaceCallbacks.h:20
Definition INetherNetTransportInterface.h:22
Definition ISignalingInterface.h:18
MCAPI void $EnableTrickleIce()
MCAPI void $AddLanHost(::NetherNet::NetworkID remote, ::std::string const &ip, int port)
MCAPI void $DisableBroadcastDiscovery()
MCAPI void $SetIdentityGenerator(::std::shared_ptr<::NetherNet::IIdentityAssertionGenerator > identityGenerator)
MCAPI void $OnSignalingEvent(::NetherNet::SignalingEvents::MessageReceived const &event)
MCAPI void $OnLanEvent(::NetherNet::LanEvents::DiscoveryRequest const &event)
MCAPI bool $IsPacketAvailable(::NetherNet::NetworkID remoteId, uint64 connectionId, uint *pcbMessageSize)
MCAPI bool $GetSessionState(::NetherNet::NetworkID networkIDRemote, uint64 connectionId, ::NetherNet::SessionState *pConnectionState)
MCAPI void $SetSignalingInterface(::std::shared_ptr<::NetherNet::ISignalingInterface > const &pWebRTCSignalingInterface)
MCAPI bool $ReadPacket(::NetherNet::NetworkID remoteId, uint64 connectionId, void *pubDest, uint cbDest, uint *pcbMessageSize)
MCAPI void $SetRelayConfig(::std::vector<::NetherNet::StunRelayServer > const &config)
MCAPI void $DisableLANSignaling()
MCAPI void $OnLanEvent(::NetherNet::LanEvents::DiscoveryResponse const &event)
MCAPI void $EnableLANSignaling()
MCAPI bool $OpenSessionWithUser(::NetherNet::NetworkID networkIDRemote, ::std::shared_ptr<::NetherNet::IIdentityAssertionGenerator > identityGenerator)
MCAPI SimpleNetworkInterfaceImpl(::NetherNet::ContextProxy const &ctx, ::NetherNet::NetworkID const &networkID, ::NetherNet::TransportConfiguration const &configuration)
MCAPI::Bedrock::PubSub::Subscription $RegisterEventHandler(::NetherNet::ILanEventHandler *handler)
MCAPI void * $ctor(::NetherNet::ContextProxy const &ctx, ::NetherNet::NetworkID const &networkID, ::NetherNet::TransportConfiguration const &configuration)
MCAPI::Bedrock::PubSub::Subscription $RegisterEventHandler(::NetherNet::ISignalingEventHandler *handler)
MCAPI void Initialize(::NetherNet::INetherNetTransportInterfaceCallbacks *pCallbacks)
MCAPI bool $SendPacket(::NetherNet::NetworkID remoteId, uint64 connectionId, ::std::string const &data, ::NetherNet::ESendType eSendType)
MCAPI bool $IsBroadcastDiscoveryEnabled()
MCAPI void $OnLanEvent(::NetherNet::LanEvents::MessageReceived const &event)
MCAPI void $EnableBroadcastDiscovery()
MCAPI void $DisableTrickleIce()
MCAPI bool $CloseSessionWithUser(::NetherNet::NetworkID networkIDRemote, uint64 connectionId)
MCAPI::webrtc::PeerConnectionInterface::RTCConfiguration GetRTCConfig(::NetherNet::NetworkID peerId) const
MCAPI void $RemoveLanHost(::NetherNet::NetworkID remote)
Definition ILanEventHandler.h:15
Definition ISignalingEventHandler.h:12
Definition DiscoveryRequest.h:7
Definition DiscoveryResponse.h:7
Definition MessageReceived.h:7
Definition NetworkID.h:17
Definition SessionState.h:7
Definition MessageReceived.h:7
Definition StunRelayServer.h:7
Definition TransportConfiguration.h:11