3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/common/AppPlatformListener.h"
7#include "mc/deps/core/http/PersistentWebSocket.h"
8#include "mc/deps/core/threading/IAsyncResult.h"
9#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
10#include "mc/deps/core/utility/NonOwnerPointer.h"
11#include "mc/deps/nether_net/ESessionError.h"
12#include "mc/deps/nether_net/ISignalingInterface.h"
13#include "mc/platform/Result.h"
19namespace Bedrock::Http {
class HeaderCollection; }
20namespace Bedrock::Http {
struct Url; }
21namespace Bedrock::PubSub {
class Subscription; }
22namespace NetherNet {
struct ISignalingEventHandler; }
23namespace NetherNet {
struct NetworkID; }
24namespace NetherNet {
struct StunRelayServer; }
36 enum class ConnectionStatus : uchar {
71 virtual void onMessage(::std::string_view incomingMessage) ;
74 virtual bool shouldReconnect()
const ;
77 virtual ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::Bedrock::Http::Url>> getUrl() ;
80 virtual ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::Bedrock::Http::HeaderCollection>>
84 virtual void onConnect() ;
87 virtual void onDisconnect(
bool, uint closeStatus) ;
90 virtual void onAppSuspended() ;
93 virtual void onAppResumed() ;
101 ::Bedrock::NotNullNonOwnerPtr<::ISignalingServiceConfigProvider> serviceConfigProvider,
102 ::Bedrock::NotNullNonOwnerPtr<::IMinecraftEventing> eventing
107 MCNAPI
void _parseError(::std::string
const& message, ::std::string messageId);
111 MCNAPI ::Bedrock::Result<::std::vector<::NetherNet::StunRelayServer>, ::NetherNet::ESessionError>
118 MCNAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::std::error_code>>
connect();
128 ::Bedrock::NotNullNonOwnerPtr<::ISignalingServiceConfigProvider> serviceConfigProvider,
129 ::Bedrock::NotNullNonOwnerPtr<::IMinecraftEventing> eventing
146 MCNAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::Bedrock::Http::Url>>
$getUrl();
148 MCNAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::Bedrock::Http::HeaderCollection>>
$getHeaders();
189 virtual void SendSignal(
191 ::std::string
const&,
192 ::std::function<
void(::NetherNet::ESessionError)>&&
233 MCNAPI
explicit SignalingService(::Bedrock::NotNullNonOwnerPtr<::IMinecraftEventing> eventing);
243 MCNAPI
void*
$ctor(::Bedrock::NotNullNonOwnerPtr<::IMinecraftEventing> eventing);
Definition EnableNonOwnerReferences.h:7
Definition PersistentWebSocket.h:19
Definition IMinecraftEventing.h:145
Definition ISignalingServiceConfigProvider.h:16
Definition ISignalingInterface.h:17
Definition SignalingService.h:168
Definition SignalingService.h:41
MCAPI ::Bedrock::Result<::std::vector<::NetherNet::StunRelayServer >, ::NetherNet::ESessionError > _parseTurnConfig(::std::string const &bodyText)
MCAPI void _parseError(::std::string const &message, ::std::string messageId)
MCAPI void _sendPing() const
static MCAPI void ** $vftableForAppPlatformListener()
MCAPI Connection(::NetherNet::NetworkID id, ::Bedrock::NotNullNonOwnerPtr<::ISignalingServiceConfigProvider > serviceConfigProvider, ::Bedrock::NotNullNonOwnerPtr<::IMinecraftEventing > eventing)
MCAPI void _parseSignal(::NetherNet::NetworkID fromNetworkID, ::std::string message, ::std::string messageId)
MCAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::Bedrock::Http::HeaderCollection > > $getHeaders()
MCAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::std::error_code > > connect()
static MCAPI void ** $vftableForPersistentWebSocket()
MCAPI void * $ctor(::NetherNet::NetworkID id, ::Bedrock::NotNullNonOwnerPtr<::ISignalingServiceConfigProvider > serviceConfigProvider, ::Bedrock::NotNullNonOwnerPtr<::IMinecraftEventing > eventing)
MCAPI void $onAppSuspended()
MCAPI void $onDisconnect(bool, uint closeStatus)
MCAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::Bedrock::Http::Url > > $getUrl()
MCAPI void $onAppResumed()
MCAPI bool $shouldReconnect() const
MCAPI void _requestTurnConfig() const
MCAPI void $onMessage(::std::string_view incomingMessage)
Definition SignalingService.h:27
MCAPI void * $ctor(::Bedrock::NotNullNonOwnerPtr<::IMinecraftEventing > eventing)
MCAPI ::std::shared_ptr<::SignalingService::Connection > _makeConnection(::NetherNet::NetworkID id)
MCAPI SignalingService(::Bedrock::NotNullNonOwnerPtr<::IMinecraftEventing > eventing)
MCAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::std::error_code > > signIn(::NetherNet::NetworkID id)
static MCAPI void ** $vftable()
Definition ISignalingEventHandler.h:12
Definition NetworkID.h:12