LeviLamina
Loading...
Searching...
No Matches
SignalingService.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
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"
14
15// auto generated forward declare list
16// clang-format off
20namespace Bedrock::Http { class HeaderCollection; }
21namespace Bedrock::Http { class RetryPolicy; }
22namespace Bedrock::Http { struct Url; }
23namespace Bedrock::PubSub { class Subscription; }
24namespace NetherNet { struct ISignalingEventHandler; }
25namespace NetherNet { struct NetworkID; }
26namespace NetherNet { struct StunRelayServer; }
27// clang-format on
28
30public:
31 // SignalingService inner types declare
32 // clang-format off
33 class Channel;
34 class Connection;
35 // clang-format on
36
37 // SignalingService inner types define
38 enum class ConnectionStatus : uchar {
39 Connected = 0,
40 Disconnected = 1,
41 };
42
44 public:
45 // member variables
46 // NOLINTBEGIN
58 // NOLINTEND
59
60 public:
61 // prevent constructor by default
62 Connection& operator=(Connection const&);
63 Connection(Connection const&);
64 Connection();
65
66 public:
67 // virtual functions
68 // NOLINTBEGIN
69 // vIndex: 0
70 virtual ~Connection() /*override*/;
71
72 // vIndex: 1
73 virtual void onMessage(::std::string_view incomingMessage) /*override*/;
74
75 // vIndex: 4
76 virtual bool shouldReconnect() const /*override*/;
77
78 // vIndex: 5
79 virtual ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::Bedrock::Http::Url>> getUrl() /*override*/;
80
81 // vIndex: 6
82 virtual ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::Bedrock::Http::HeaderCollection>>
83 getHeaders() /*override*/;
84
85 // vIndex: 7
86 virtual ::Bedrock::Http::RetryPolicy getReconnectPolicy() /*override*/;
87
88 // vIndex: 8
89 virtual void onConnect() /*override*/;
90
91 // vIndex: 9
92 virtual void onDisconnect(bool, uint closeStatus) /*override*/;
93
94 // vIndex: 4
95 virtual void onAppSuspended() /*override*/;
96
97 // vIndex: 5
98 virtual void onAppResumed() /*override*/;
99 // NOLINTEND
100
101 public:
102 // member functions
103 // NOLINTBEGIN
106 ::Bedrock::NotNullNonOwnerPtr<::ISignalingServiceConfigProvider> serviceConfigProvider,
107 ::Bedrock::NotNullNonOwnerPtr<::IMinecraftEventing> eventing
108 );
109
110 MCNAPI void _disconnect();
111
112 MCNAPI void _parseError(::std::string const& message, ::std::string messageId);
113
114 MCNAPI void _parseSignal(::NetherNet::NetworkID fromNetworkID, ::std::string message, ::std::string messageId);
115
116 MCNAPI ::Bedrock::Result<::std::vector<::NetherNet::StunRelayServer>, ::NetherNet::ESessionError>
117 _parseTurnConfig(::std::string const& bodyText);
118
119 MCNAPI void _requestTurnConfig() const;
120
121 MCNAPI void _sendPing() const;
122
123 MCNAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::std::error_code>> connect();
124
125 MCNAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::NetherNet::ESessionError>>
126 sendTo(::NetherNet::NetworkID to, ::std::string const& message);
127
128 MCNAPI void update();
129 // NOLINTEND
130
131 public:
132 // constructor thunks
133 // NOLINTBEGIN
134 MCNAPI void* $ctor(
136 ::Bedrock::NotNullNonOwnerPtr<::ISignalingServiceConfigProvider> serviceConfigProvider,
137 ::Bedrock::NotNullNonOwnerPtr<::IMinecraftEventing> eventing
138 );
139 // NOLINTEND
140
141 public:
142 // destructor thunk
143 // NOLINTBEGIN
144 MCNAPI void $dtor();
145 // NOLINTEND
146
147 public:
148 // virtual function thunks
149 // NOLINTBEGIN
150 MCNAPI void $onMessage(::std::string_view incomingMessage);
151
152 MCNAPI bool $shouldReconnect() const;
153
154 MCNAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::Bedrock::Http::Url>> $getUrl();
155
156 MCNAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::Bedrock::Http::HeaderCollection>> $getHeaders();
157
158 MCNAPI ::Bedrock::Http::RetryPolicy $getReconnectPolicy();
159
160 MCNAPI void $onConnect();
161
162 MCNAPI void $onDisconnect(bool, uint closeStatus);
163
164 MCNAPI void $onAppSuspended();
165
166 MCNAPI void $onAppResumed();
167 // NOLINTEND
168
169 public:
170 // vftables
171 // NOLINTBEGIN
172 MCNAPI static void** $vftableForPersistentWebSocket();
173
174 MCNAPI static void** $vftableForAppPlatformListener();
175 // NOLINTEND
176 };
177
179 public:
180 // member variables
181 // NOLINTBEGIN
184 // NOLINTEND
185
186 public:
187 // prevent constructor by default
188 Channel& operator=(Channel const&);
189 Channel(Channel const&);
190 Channel();
191
192 public:
193 // virtual functions
194 // NOLINTBEGIN
195 // vIndex: 0
196 virtual ~Channel() /*override*/ = default;
197
198 // vIndex: 1
199 virtual void SendSignal(
201 ::std::string const& message,
202 ::std::function<void(::NetherNet::ESessionError)>&& onComplete
203 ) /*override*/;
204
205 // vIndex: 2
206 virtual ::Bedrock::PubSub::Subscription
207 RegisterEventHandler(::NetherNet::ISignalingEventHandler* handler) /*override*/;
208 // NOLINTEND
209
210 public:
211 // virtual function thunks
212 // NOLINTBEGIN
213 MCNAPI void $SendSignal(
215 ::std::string const& message,
216 ::std::function<void(::NetherNet::ESessionError)>&& onComplete
217 );
218
219 MCNAPI ::Bedrock::PubSub::Subscription $RegisterEventHandler(::NetherNet::ISignalingEventHandler* handler);
220 // NOLINTEND
221
222 public:
223 // vftables
224 // NOLINTBEGIN
225 MCNAPI static void** $vftable();
226 // NOLINTEND
227 };
228
229public:
230 // member variables
231 // NOLINTBEGIN
238 // NOLINTEND
239
240public:
241 // prevent constructor by default
242 SignalingService& operator=(SignalingService const&);
245
246public:
247 // virtual functions
248 // NOLINTBEGIN
249 // vIndex: 0
250 virtual ~SignalingService() /*override*/;
251 // NOLINTEND
252
253public:
254 // member functions
255 // NOLINTBEGIN
256 MCNAPI explicit SignalingService(::Bedrock::NotNullNonOwnerPtr<::IMinecraftEventing> eventing);
257
258 MCNAPI ::std::shared_ptr<::SignalingService::Connection> _makeConnection(::NetherNet::NetworkID id);
259
260 MCNAPI ::gsl::not_null<::std::shared_ptr<::NetherNet::ISignalingInterface>> getChannel() const;
261
262 MCNAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::std::vector<::NetherNet::StunRelayServer>>>
264
265 MCNAPI ::std::shared_ptr<::ISignalingServiceTelemetry const> getTelemetry() const;
266
267 MCNAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::std::error_code>> signIn(::NetherNet::NetworkID id);
268 // NOLINTEND
269
270public:
271 // constructor thunks
272 // NOLINTBEGIN
273 MCNAPI void* $ctor(::Bedrock::NotNullNonOwnerPtr<::IMinecraftEventing> eventing);
274 // NOLINTEND
275
276public:
277 // destructor thunk
278 // NOLINTBEGIN
279 MCNAPI void $dtor();
280 // NOLINTEND
281
282public:
283 // vftables
284 // NOLINTBEGIN
285 MCNAPI static void** $vftable();
286 // NOLINTEND
287};
Definition AppPlatformListener.h:15
Definition EnableNonOwnerReferences.h:7
Definition PersistentWebSocket.h:20
Definition IMinecraftEventing.h:144
Definition ISignalingServiceConfigProvider.h:14
Definition ISignalingServiceTelemetry.h:14
Definition ISignalingInterface.h:17
Definition SignalingService.h:178
MCAPI void $SendSignal(::NetherNet::NetworkID to, ::std::string const &message, ::std::function< void(::NetherNet::ESessionError)> &&onComplete)
MCAPI::Bedrock::PubSub::Subscription $RegisterEventHandler(::NetherNet::ISignalingEventHandler *handler)
static MCAPI void ** $vftable()
Definition SignalingService.h:43
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 ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::NetherNet::ESessionError > > sendTo(::NetherNet::NetworkID to, ::std::string const &message)
MCAPI void * $ctor(::NetherNet::NetworkID id, ::Bedrock::NotNullNonOwnerPtr<::ISignalingServiceConfigProvider > serviceConfigProvider, ::Bedrock::NotNullNonOwnerPtr<::IMinecraftEventing > eventing)
MCAPI void $onDisconnect(bool, uint closeStatus)
MCAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::Bedrock::Http::Url > > $getUrl()
MCAPI::Bedrock::Http::RetryPolicy $getReconnectPolicy()
MCAPI bool $shouldReconnect() const
MCAPI void _requestTurnConfig() const
MCAPI void $onMessage(::std::string_view incomingMessage)
Definition SignalingService.h:29
MCAPI void * $ctor(::Bedrock::NotNullNonOwnerPtr<::IMinecraftEventing > eventing)
MCAPI ::std::shared_ptr<::SignalingService::Connection > _makeConnection(::NetherNet::NetworkID id)
MCAPI SignalingService(::Bedrock::NotNullNonOwnerPtr<::IMinecraftEventing > eventing)
MCAPI void $dtor()
MCAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::std::vector<::NetherNet::StunRelayServer > > > getRelayConfig() const
MCAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::std::error_code > > signIn(::NetherNet::NetworkID id)
MCAPI ::gsl::not_null<::std::shared_ptr<::NetherNet::ISignalingInterface > > getChannel() const
MCAPI ::std::shared_ptr<::ISignalingServiceTelemetry const > getTelemetry() const
static MCAPI void ** $vftable()
Definition ISignalingEventHandler.h:12
Definition NetworkID.h:17
Definition Alias.h:14