LeviLamina
Loading...
Searching...
No Matches
PayloadService.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/pub_sub/Publisher.h"
7#include "mc/deps/scripting/runtime/Result_deprecated.h"
8#include "mc/editor/selection/PayloadServiceProvider.h"
9#include "mc/editor/services/IEditorService.h"
10
11// auto generated forward declare list
12// clang-format off
13class Actor;
15class PacketSender;
16class WeakEntityRef;
17namespace Bedrock::PubSub { class Subscription; }
18namespace Bedrock::PubSub::ThreadModel { struct SingleThreaded; }
19namespace Editor { class ServiceProviderCollection; }
20namespace Editor::Network { class INetworkPayload; }
21namespace Editor::Network { struct PayloadMetrics; }
22namespace mce { class UUID; }
23// clang-format on
24
25namespace Editor::Network {
26
28public:
29 // PayloadService inner types declare
30 // clang-format off
31 struct CachedPacket;
32 struct PayloadFactory;
33 struct PayloadPublisher;
34 struct PayloadInfo;
35 // clang-format on
36
37 // PayloadService inner types define
38 enum class SendTarget : int {
39 ServerPlayer = 0,
40 ClientPlayer = 1,
41 ServerManager = 2,
42 ClientManager = 3,
43 BroadcastToClientPlayers = 4,
44 BroadcastToClientManagers = 5,
45 };
46
47 struct CachedPacket {
48 public:
49 // member variables
50 // NOLINTBEGIN
55 // NOLINTEND
56
57 public:
58 // prevent constructor by default
59 CachedPacket& operator=(CachedPacket const&);
60 CachedPacket(CachedPacket const&);
61 CachedPacket();
62
63 public:
64 // member functions
65 // NOLINTBEGIN
66 MCNAPI ~CachedPacket();
67 // NOLINTEND
68
69 public:
70 // destructor thunk
71 // NOLINTBEGIN
72 MCNAPI void $dtor();
73 // NOLINTEND
74 };
75
76 struct PayloadFactory {
77 public:
78 // member variables
79 // NOLINTBEGIN
81 // NOLINTEND
82
83 public:
84 // prevent constructor by default
85 PayloadFactory& operator=(PayloadFactory const&);
86 PayloadFactory(PayloadFactory const&);
87 PayloadFactory();
88
89 public:
90 // member functions
91 // NOLINTBEGIN
93 // NOLINTEND
94
95 public:
96 // destructor thunk
97 // NOLINTBEGIN
98 MCNAPI void $dtor();
99 // NOLINTEND
100 };
101
102 struct PayloadPublisher {
103 public:
104 // member variables
105 // NOLINTBEGIN
107 // NOLINTEND
108
109 public:
110 // prevent constructor by default
111 PayloadPublisher& operator=(PayloadPublisher const&);
112 PayloadPublisher(PayloadPublisher const&);
113 PayloadPublisher();
114 };
115
116 struct PayloadInfo {
117 public:
118 // member variables
119 // NOLINTBEGIN
124 // NOLINTEND
125
126 public:
127 // prevent constructor by default
128 PayloadInfo& operator=(PayloadInfo const&);
129 PayloadInfo(PayloadInfo const&);
130 PayloadInfo();
131
132 public:
133 // member functions
134 // NOLINTBEGIN
135 MCNAPI ~PayloadInfo();
136 // NOLINTEND
137
138 public:
139 // destructor thunk
140 // NOLINTBEGIN
141 MCNAPI void $dtor();
142 // NOLINTEND
143 };
144
145public:
146 // member variables
147 // NOLINTBEGIN
155 // NOLINTEND
156
157public:
158 // prevent constructor by default
159 PayloadService& operator=(PayloadService const&);
160 PayloadService(PayloadService const&);
161 PayloadService();
162
163public:
164 // virtual functions
165 // NOLINTBEGIN
166 virtual ~PayloadService() /*override*/;
167
168 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
169
170 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
171
172 virtual ::std::string_view getServiceName() const /*override*/;
173
174 virtual ::Scripting::Result_deprecated<void>
175 dispatchToSelf(::Editor::Network::INetworkPayload& payload) /*override*/;
176
177 virtual void onReceivePayload(::EditorNetworkPacket const& packet) /*override*/;
178
179 virtual bool isCollectingMetrics() const /*override*/;
180
181 virtual ::std::vector<::std::pair<::std::string, ::Editor::Network::PayloadMetrics>> collectMetricsReport() const
182 /*override*/;
183
184 virtual ::Editor::Network::PayloadMetrics* _registerPayload(
185 char const* payloadName,
186 ::std::function<::std::shared_ptr<::Editor::Network::INetworkPayload>()> constructorFunc
187 ) /*override*/;
188
189 virtual ::Scripting::Result_deprecated<void>
190 _send(::Editor::Network::INetworkPayload& payload, ::Editor::Network::PayloadMetrics* metrics) /*override*/;
191
192 virtual ::Scripting::Result_deprecated<void> _sendToManager(
193 ::Editor::Network::INetworkPayload& payload,
194 ::Editor::Network::PayloadMetrics* metrics
195 ) /*override*/;
196
197 virtual ::Scripting::Result_deprecated<void> _sendToClientId(
198 ::mce::UUID const& clientId,
199 ::Editor::Network::INetworkPayload& payload,
200 ::Editor::Network::PayloadMetrics* metrics
201 ) /*override*/;
202
203 virtual ::Scripting::Result_deprecated<void> _sendToClientIds(
204 ::std::vector<::mce::UUID> const& clientIds,
205 ::Editor::Network::INetworkPayload& payload,
206 ::Editor::Network::PayloadMetrics* metrics
207 ) /*override*/;
208
209 virtual ::Scripting::Result_deprecated<void> _broadcastToClients(
210 ::Editor::Network::INetworkPayload& payload,
211 ::Editor::Network::PayloadMetrics* metrics
212 ) /*override*/;
213
214 virtual ::Scripting::Result_deprecated<void> _broadcastToClientManagers(
215 ::Editor::Network::INetworkPayload& payload,
216 ::Editor::Network::PayloadMetrics* metrics
217 ) /*override*/;
218
219 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> _listenFor(
220 char const* payloadName,
221 ::std::function<void(::Editor::Network::INetworkPayload const&)> fnSubscriber
222 ) /*override*/;
223 // NOLINTEND
224
225public:
226 // member functions
227 // NOLINTBEGIN
228 MCNAPI PayloadService(
229 ::Editor::ServiceProviderCollection& providers,
230 ::WeakEntityRef optionalPlayerRef,
231 ::PacketSender& packetSender,
232 bool isClientSide,
233 bool collectMetrics
234 );
235
236 MCNAPI ::Editor::Network::PayloadService::PayloadInfo* _createPayloadInfo(
237 char const* payloadName,
238 ::std::function<::std::shared_ptr<::Editor::Network::INetworkPayload>()> constructorFunc
239 );
240
241 MCNAPI ::Editor::Network::PayloadService::PayloadInfo* _findPayloadInfo(char const* payloadName);
242
243 MCNAPI ::std::shared_ptr<::Editor::Network::INetworkPayload>
244 _load(::std::string_view payloadName, ::std::string_view payloadRawData);
245
246 MCNAPI ::Scripting::Result_deprecated<::EditorNetworkPacket> _populatePacket(
247 ::Editor::Network::INetworkPayload* payload,
248 ::Editor::Network::PayloadService::SendTarget target,
249 ::Editor::Network::PayloadMetrics* metrics
250 );
251
252 MCNAPI void _sendCachedPacketToTarget(::Editor::Network::PayloadService::CachedPacket& packet);
253
254 MCNAPI ::Scripting::Result_deprecated<void> _sendToClient(
255 ::Editor::Network::INetworkPayload& payload,
256 ::Editor::Network::PayloadService::SendTarget target,
257 ::Editor::Network::PayloadMetrics* metrics
258 );
259
260 MCNAPI ::Scripting::Result_deprecated<void> _sendToClientTargets(
261 ::std::vector<::Actor*> actorList,
262 ::EditorNetworkPacket& outPacket,
263 ::Editor::Network::PayloadMetrics* metrics
264 );
265
266 MCNAPI ::Scripting::Result_deprecated<void> _sendToServer(
267 ::Editor::Network::INetworkPayload& payload,
268 ::Editor::Network::PayloadService::SendTarget target,
269 ::Editor::Network::PayloadMetrics* metrics
270 );
271
272 MCNAPI ::Scripting::Result_deprecated<void> _sendToTarget(
273 ::Actor* actor,
274 ::EditorNetworkPacket& outPacket,
275 ::Editor::Network::PayloadService::SendTarget toWhom,
276 ::Editor::Network::PayloadMetrics* metrics
277 );
278 // NOLINTEND
279
280public:
281 // constructor thunks
282 // NOLINTBEGIN
283 MCNAPI void* $ctor(
284 ::Editor::ServiceProviderCollection& providers,
285 ::WeakEntityRef optionalPlayerRef,
286 ::PacketSender& packetSender,
287 bool isClientSide,
288 bool collectMetrics
289 );
290 // NOLINTEND
291
292public:
293 // destructor thunk
294 // NOLINTBEGIN
295 MCNAPI void $dtor();
296 // NOLINTEND
297
298public:
299 // virtual function thunks
300 // NOLINTBEGIN
301 MCNAPI ::Scripting::Result_deprecated<void> $init();
302
303 MCNAPI ::Scripting::Result_deprecated<void> $quit();
304
305 MCNAPI ::std::string_view $getServiceName() const;
306
307 MCNAPI ::Scripting::Result_deprecated<void> $dispatchToSelf(::Editor::Network::INetworkPayload& payload);
308
309 MCNAPI void $onReceivePayload(::EditorNetworkPacket const& packet);
310
311 MCNAPI bool $isCollectingMetrics() const;
312
313 MCNAPI ::std::vector<::std::pair<::std::string, ::Editor::Network::PayloadMetrics>> $collectMetricsReport() const;
314
315 MCNAPI ::Editor::Network::PayloadMetrics* $_registerPayload(
316 char const* payloadName,
317 ::std::function<::std::shared_ptr<::Editor::Network::INetworkPayload>()> constructorFunc
318 );
319
320 MCNAPI ::Scripting::Result_deprecated<void>
321 $_send(::Editor::Network::INetworkPayload& payload, ::Editor::Network::PayloadMetrics* metrics);
322
323 MCNAPI ::Scripting::Result_deprecated<void>
324 $_sendToManager(::Editor::Network::INetworkPayload& payload, ::Editor::Network::PayloadMetrics* metrics);
325
326 MCNAPI ::Scripting::Result_deprecated<void> $_sendToClientId(
327 ::mce::UUID const& clientId,
328 ::Editor::Network::INetworkPayload& payload,
329 ::Editor::Network::PayloadMetrics* metrics
330 );
331
332 MCNAPI ::Scripting::Result_deprecated<void> $_sendToClientIds(
333 ::std::vector<::mce::UUID> const& clientIds,
334 ::Editor::Network::INetworkPayload& payload,
335 ::Editor::Network::PayloadMetrics* metrics
336 );
337
338 MCNAPI ::Scripting::Result_deprecated<void>
339 $_broadcastToClients(::Editor::Network::INetworkPayload& payload, ::Editor::Network::PayloadMetrics* metrics);
340
341 MCNAPI ::Scripting::Result_deprecated<void> $_broadcastToClientManagers(
342 ::Editor::Network::INetworkPayload& payload,
343 ::Editor::Network::PayloadMetrics* metrics
344 );
345
346 MCNAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription>
347 $_listenFor(char const* payloadName, ::std::function<void(::Editor::Network::INetworkPayload const&)> fnSubscriber);
348
349
350 // NOLINTEND
351
352public:
353 // vftables
354 // NOLINTBEGIN
355 MCNAPI static void** $vftableForPayloadServiceProvider();
356
357 MCNAPI static void** $vftableForIEditorService();
358 // NOLINTEND
359};
360
361} // namespace Editor::Network
Definition Actor.h:106
Definition Subscription.h:10
Definition EditorNetworkPacket.h:19
Definition INetworkPayload.h:7
Definition PayloadServiceProvider.h:19
MCAPI ::std::shared_ptr<::Editor::Network::INetworkPayload > _load(::std::string_view payloadName, ::std::string_view payloadRawData)
MCAPI ::Scripting::Result_deprecated< void > _sendToClientTargets(::std::vector<::Actor * > actorList, ::EditorNetworkPacket &outPacket, ::Editor::Network::PayloadMetrics *metrics)
MCAPI ::Scripting::Result_deprecated< void > $_broadcastToClients(::Editor::Network::INetworkPayload &payload, ::Editor::Network::PayloadMetrics *metrics)
MCAPI::std::string_view $getServiceName() const
MCAPI ::Scripting::Result_deprecated< void > $quit()
MCAPI ::Scripting::Result_deprecated< void > _sendToServer(::Editor::Network::INetworkPayload &payload, ::Editor::Network::PayloadService::SendTarget target, ::Editor::Network::PayloadMetrics *metrics)
MCAPI ::Scripting::Result_deprecated< void > _sendToClient(::Editor::Network::INetworkPayload &payload, ::Editor::Network::PayloadService::SendTarget target, ::Editor::Network::PayloadMetrics *metrics)
MCAPI ::Scripting::Result_deprecated< void > $_send(::Editor::Network::INetworkPayload &payload, ::Editor::Network::PayloadMetrics *metrics)
MCAPI ::std::vector<::std::pair<::std::string, ::Editor::Network::PayloadMetrics > > $collectMetricsReport() const
MCAPI bool $isCollectingMetrics() const
MCAPI ::Scripting::Result_deprecated< void > _sendToTarget(::Actor *actor, ::EditorNetworkPacket &outPacket, ::Editor::Network::PayloadService::SendTarget toWhom, ::Editor::Network::PayloadMetrics *metrics)
MCAPI void _sendCachedPacketToTarget(::Editor::Network::PayloadService::CachedPacket &packet)
static MCAPI void ** $vftableForIEditorService()
MCAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription > $_listenFor(char const *payloadName, ::std::function< void(::Editor::Network::INetworkPayload const &)> fnSubscriber)
MCAPI ::Scripting::Result_deprecated< void > $_sendToManager(::Editor::Network::INetworkPayload &payload, ::Editor::Network::PayloadMetrics *metrics)
MCAPI ::Scripting::Result_deprecated< void > $_sendToClientId(::mce::UUID const &clientId, ::Editor::Network::INetworkPayload &payload, ::Editor::Network::PayloadMetrics *metrics)
MCAPI ::Scripting::Result_deprecated< void > $init()
MCAPI::Editor::Network::PayloadService::PayloadInfo * _createPayloadInfo(char const *payloadName, ::std::function<::std::shared_ptr<::Editor::Network::INetworkPayload >()> constructorFunc)
MCAPI ::Scripting::Result_deprecated<::EditorNetworkPacket > _populatePacket(::Editor::Network::INetworkPayload *payload, ::Editor::Network::PayloadService::SendTarget target, ::Editor::Network::PayloadMetrics *metrics)
MCAPI::Editor::Network::PayloadMetrics * $_registerPayload(char const *payloadName, ::std::function<::std::shared_ptr<::Editor::Network::INetworkPayload >()> constructorFunc)
MCAPI ::Scripting::Result_deprecated< void > $dispatchToSelf(::Editor::Network::INetworkPayload &payload)
MCAPI void $onReceivePayload(::EditorNetworkPacket const &packet)
MCAPI ::Scripting::Result_deprecated< void > $_broadcastToClientManagers(::Editor::Network::INetworkPayload &payload, ::Editor::Network::PayloadMetrics *metrics)
static MCAPI void ** $vftableForPayloadServiceProvider()
MCAPI void * $ctor(::Editor::ServiceProviderCollection &providers, ::WeakEntityRef optionalPlayerRef, ::PacketSender &packetSender, bool isClientSide, bool collectMetrics)
MCAPI::Editor::Network::PayloadService::PayloadInfo * _findPayloadInfo(char const *payloadName)
MCAPI ::Scripting::Result_deprecated< void > $_sendToClientIds(::std::vector<::mce::UUID > const &clientIds, ::Editor::Network::INetworkPayload &payload, ::Editor::Network::PayloadMetrics *metrics)
Definition ServiceProviderCollection.h:7
Definition IEditorService.h:11
Definition PacketSender.h:17
Definition ServerPlayer.h:68
Definition WeakEntityRef.h:14
Definition UUID.h:7
STL namespace.
Definition PayloadMetrics.h:7
Definition PayloadService.h:47
Definition PayloadService.h:116
Definition Alias.h:14