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
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; }
25// clang-format on
26
28public:
29 // SignalingService inner types declare
30 // clang-format off
31 class Channel;
32 class Connection;
33 // clang-format on
34
35 // SignalingService inner types define
36 enum class ConnectionStatus : uchar {
37 Connected = 0,
38 Disconnected = 1,
39 };
40
42 public:
43 // member variables
44 // NOLINTBEGIN
56 // NOLINTEND
57
58 public:
59 // prevent constructor by default
60 Connection& operator=(Connection const&);
61 Connection(Connection const&);
62 Connection();
63
64 public:
65 // virtual functions
66 // NOLINTBEGIN
67 // vIndex: 0
68 virtual ~Connection() /*override*/;
69
70 // vIndex: 1
71 virtual void onMessage(::std::string_view incomingMessage) /*override*/;
72
73 // vIndex: 4
74 virtual bool shouldReconnect() const /*override*/;
75
76 // vIndex: 5
77 virtual ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::Bedrock::Http::Url>> getUrl() /*override*/;
78
79 // vIndex: 6
80 virtual ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::Bedrock::Http::HeaderCollection>>
81 getHeaders() /*override*/;
82
83 // vIndex: 8
84 virtual void onConnect() /*override*/;
85
86 // vIndex: 9
87 virtual void onDisconnect(bool, uint closeStatus) /*override*/;
88
89 // vIndex: 4
90 virtual void onAppSuspended() /*override*/;
91
92 // vIndex: 5
93 virtual void onAppResumed() /*override*/;
94 // NOLINTEND
95
96 public:
97 // member functions
98 // NOLINTBEGIN
99 MCNAPI Connection(
101 ::Bedrock::NotNullNonOwnerPtr<::ISignalingServiceConfigProvider> serviceConfigProvider,
102 ::Bedrock::NotNullNonOwnerPtr<::IMinecraftEventing> eventing
103 );
104
105 MCNAPI void _disconnect();
106
107 MCNAPI void _parseError(::std::string const& message, ::std::string messageId);
108
109 MCNAPI void _parseSignal(::NetherNet::NetworkID fromNetworkID, ::std::string message, ::std::string messageId);
110
111 MCNAPI ::Bedrock::Result<::std::vector<::NetherNet::StunRelayServer>, ::NetherNet::ESessionError>
112 _parseTurnConfig(::std::string const& bodyText);
113
114 MCNAPI void _requestTurnConfig() const;
115
116 MCNAPI void _sendPing() const;
117
118 MCNAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::std::error_code>> connect();
119
120 MCNAPI void update();
121 // NOLINTEND
122
123 public:
124 // constructor thunks
125 // NOLINTBEGIN
126 MCNAPI void* $ctor(
128 ::Bedrock::NotNullNonOwnerPtr<::ISignalingServiceConfigProvider> serviceConfigProvider,
129 ::Bedrock::NotNullNonOwnerPtr<::IMinecraftEventing> eventing
130 );
131 // NOLINTEND
132
133 public:
134 // destructor thunk
135 // NOLINTBEGIN
136 MCNAPI void $dtor();
137 // NOLINTEND
138
139 public:
140 // virtual function thunks
141 // NOLINTBEGIN
142 MCNAPI void $onMessage(::std::string_view incomingMessage);
143
144 MCNAPI bool $shouldReconnect() const;
145
146 MCNAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::Bedrock::Http::Url>> $getUrl();
147
148 MCNAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::Bedrock::Http::HeaderCollection>> $getHeaders();
149
150 MCNAPI void $onConnect();
151
152 MCNAPI void $onDisconnect(bool, uint closeStatus);
153
154 MCNAPI void $onAppSuspended();
155
156 MCNAPI void $onAppResumed();
157 // NOLINTEND
158
159 public:
160 // vftables
161 // NOLINTBEGIN
162 MCNAPI static void** $vftableForPersistentWebSocket();
163
164 MCNAPI static void** $vftableForAppPlatformListener();
165 // NOLINTEND
166 };
167
169 public:
170 // member variables
171 // NOLINTBEGIN
174 // NOLINTEND
175
176 public:
177 // prevent constructor by default
178 Channel& operator=(Channel const&);
179 Channel(Channel const&);
180 Channel();
181
182 public:
183 // virtual functions
184 // NOLINTBEGIN
185 // vIndex: 0
186 virtual ~Channel() /*override*/ = default;
187
188 // vIndex: 1
189 virtual void SendSignal(
191 ::std::string const&,
192 ::std::function<void(::NetherNet::ESessionError)>&&
193 ) /*override*/;
194
195 // vIndex: 2
196 virtual ::Bedrock::PubSub::Subscription RegisterEventHandler(::NetherNet::ISignalingEventHandler*) /*override*/;
197 // NOLINTEND
198
199 public:
200 // virtual function thunks
201 // NOLINTBEGIN
202
203 // NOLINTEND
204 };
205
206public:
207 // member variables
208 // NOLINTBEGIN
215 // NOLINTEND
216
217public:
218 // prevent constructor by default
219 SignalingService& operator=(SignalingService const&);
222
223public:
224 // virtual functions
225 // NOLINTBEGIN
226 // vIndex: 0
227 virtual ~SignalingService() /*override*/;
228 // NOLINTEND
229
230public:
231 // member functions
232 // NOLINTBEGIN
233 MCNAPI explicit SignalingService(::Bedrock::NotNullNonOwnerPtr<::IMinecraftEventing> eventing);
234
235 MCNAPI ::std::shared_ptr<::SignalingService::Connection> _makeConnection(::NetherNet::NetworkID id);
236
237 MCNAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::std::error_code>> signIn(::NetherNet::NetworkID id);
238 // NOLINTEND
239
240public:
241 // constructor thunks
242 // NOLINTBEGIN
243 MCNAPI void* $ctor(::Bedrock::NotNullNonOwnerPtr<::IMinecraftEventing> eventing);
244 // NOLINTEND
245
246public:
247 // destructor thunk
248 // NOLINTBEGIN
249 MCNAPI void $dtor();
250 // NOLINTEND
251
252public:
253 // vftables
254 // NOLINTBEGIN
255 MCNAPI static void** $vftable();
256 // NOLINTEND
257};
Definition AppPlatformListener.h:15
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 $onDisconnect(bool, uint closeStatus)
MCAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::Bedrock::Http::Url > > $getUrl()
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 void $dtor()
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
Definition Alias.h:14