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;
14class CompoundTag;
16class PacketSender;
17class WeakEntityRef;
18namespace Bedrock::PubSub { class Subscription; }
19namespace Bedrock::PubSub::ThreadModel { struct SingleThreaded; }
20namespace Editor { class ServiceProviderCollection; }
21namespace Editor::Network { class INetworkPayload; }
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 ConstructionInfo;
33 // clang-format on
34
35 // PayloadService inner types define
36 enum class SendTarget : int {
37 ServerPlayer = 0,
38 ClientPlayer = 1,
39 ServerManager = 2,
40 ClientManager = 3,
41 BroadcastToClientPlayers = 4,
42 BroadcastToClientManagers = 5,
43 };
44
46 public:
47 // member variables
48 // NOLINTBEGIN
50 // NOLINTEND
51
52 public:
53 // prevent constructor by default
54 ConstructionInfo& operator=(ConstructionInfo const&);
57
58 public:
59 // member functions
60 // NOLINTBEGIN
62 // NOLINTEND
63
64 public:
65 // destructor thunk
66 // NOLINTBEGIN
67 MCNAPI void $dtor();
68 // NOLINTEND
69 };
70
71 struct CachedPacket {
72 public:
73 // member variables
74 // NOLINTBEGIN
78 // NOLINTEND
79
80 public:
81 // prevent constructor by default
82 CachedPacket& operator=(CachedPacket const&);
85
86 public:
87 // member functions
88 // NOLINTBEGIN
89 MCNAPI ~CachedPacket();
90 // NOLINTEND
91
92 public:
93 // destructor thunk
94 // NOLINTBEGIN
95 MCNAPI void $dtor();
96 // NOLINTEND
97 };
98
99public:
100 // member variables
101 // NOLINTBEGIN
108 // NOLINTEND
109
110public:
111 // prevent constructor by default
112 PayloadService& operator=(PayloadService const&);
115
116public:
117 // virtual functions
118 // NOLINTBEGIN
119 // vIndex: 0
120 virtual ~PayloadService() /*override*/;
121
122 // vIndex: 1
123 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
124
125 // vIndex: 3
126 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
127
128 // vIndex: 4
129 virtual ::std::string_view getServiceName() const /*override*/;
130
131 // vIndex: 1
132 virtual ::Scripting::Result_deprecated<void>
133 dispatchToSelf(::Editor::Network::INetworkPayload& payload) /*override*/;
134
135 // vIndex: 2
136 virtual void onReceivePayload(::EditorNetworkPacket const& packet) /*override*/;
137
138 // vIndex: 3
139 virtual void _registerPayload(
140 char const* payloadName,
141 ::std::function<::std::shared_ptr<::Editor::Network::INetworkPayload>()> constructorFunc
142 ) /*override*/;
143
144 // vIndex: 4
145 virtual ::Scripting::Result_deprecated<void> _send(::Editor::Network::INetworkPayload& payload) /*override*/;
146
147 // vIndex: 5
148 virtual ::Scripting::Result_deprecated<void>
149 _sendToManager(::Editor::Network::INetworkPayload& payload) /*override*/;
150
151 // vIndex: 6
152 virtual ::Scripting::Result_deprecated<void>
153 _sendToClientId(::mce::UUID const& clientId, ::Editor::Network::INetworkPayload& payload) /*override*/;
154
155 // vIndex: 7
156 virtual ::Scripting::Result_deprecated<void> _sendToClientIds(
157 ::std::vector<::mce::UUID> const& clientIds,
158 ::Editor::Network::INetworkPayload& payload
159 ) /*override*/;
160
161 // vIndex: 8
162 virtual ::Scripting::Result_deprecated<void>
163 _broadcastToClients(::Editor::Network::INetworkPayload& payload) /*override*/;
164
165 // vIndex: 9
166 virtual ::Scripting::Result_deprecated<void>
167 _broadcastToClientManagers(::Editor::Network::INetworkPayload& payload) /*override*/;
168
169 // vIndex: 10
170 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> _listenFor(
171 char const* payloadName,
172 ::std::function<void(::Editor::Network::INetworkPayload const&)> func
173 ) /*override*/;
174 // NOLINTEND
175
176public:
177 // member functions
178 // NOLINTBEGIN
180 ::Editor::ServiceProviderCollection& providers,
181 ::WeakEntityRef optionalPlayerRef,
182 ::PacketSender& packetSender,
183 bool isClientSide
184 );
185
186 MCNAPI ::Bedrock::PubSub::
187 Publisher<void(::Editor::Network::INetworkPayload const&), ::Bedrock::PubSub::ThreadModel::SingleThreaded, 0>*
189
190 MCNAPI ::std::shared_ptr<::Editor::Network::INetworkPayload> _load(::CompoundTag const* dataContainer);
191
192 MCNAPI ::Scripting::Result_deprecated<::EditorNetworkPacket>
193 _populatePacket(::Editor::Network::INetworkPayload* payload, ::Editor::Network::PayloadService::SendTarget target);
194
196 char const* payloadName,
197 ::std::function<::std::shared_ptr<::Editor::Network::INetworkPayload>()> constructorFunc
198 );
199
200 MCNAPI void _sendCachedPacketToTarget(::Editor::Network::PayloadService::CachedPacket& packet);
201
202 MCNAPI ::Scripting::Result_deprecated<void>
203 _sendToClient(::Editor::Network::INetworkPayload& payload, ::Editor::Network::PayloadService::SendTarget target);
204
205 MCNAPI ::Scripting::Result_deprecated<void>
206 _sendToClientTargets(::std::vector<::Actor*> actorList, ::EditorNetworkPacket& outPacket);
207
208 MCNAPI ::Scripting::Result_deprecated<void>
209 _sendToServer(::Editor::Network::INetworkPayload& payload, ::Editor::Network::PayloadService::SendTarget target);
210
211 MCNAPI ::Scripting::Result_deprecated<void> _sendToTarget(
212 ::Actor* actor,
213 ::EditorNetworkPacket& outPacket,
214 ::Editor::Network::PayloadService::SendTarget toWhom
215 );
216 // NOLINTEND
217
218public:
219 // static variables
220 // NOLINTBEGIN
221 MCNAPI static ::std::string const& msPayloadNameKey();
222 // NOLINTEND
223
224public:
225 // constructor thunks
226 // NOLINTBEGIN
227 MCNAPI void* $ctor(
228 ::Editor::ServiceProviderCollection& providers,
229 ::WeakEntityRef optionalPlayerRef,
230 ::PacketSender& packetSender,
231 bool isClientSide
232 );
233 // NOLINTEND
234
235public:
236 // destructor thunk
237 // NOLINTBEGIN
238 MCNAPI void $dtor();
239 // NOLINTEND
240
241public:
242 // virtual function thunks
243 // NOLINTBEGIN
244 MCNAPI ::Scripting::Result_deprecated<void> $init();
245
246 MCNAPI ::Scripting::Result_deprecated<void> $quit();
247
248 MCNAPI ::std::string_view $getServiceName() const;
249
250 MCNAPI ::Scripting::Result_deprecated<void> $dispatchToSelf(::Editor::Network::INetworkPayload& payload);
251
252 MCNAPI void $onReceivePayload(::EditorNetworkPacket const& packet);
253
254 MCNAPI void $_registerPayload(
255 char const* payloadName,
256 ::std::function<::std::shared_ptr<::Editor::Network::INetworkPayload>()> constructorFunc
257 );
258
259 MCNAPI ::Scripting::Result_deprecated<void> $_send(::Editor::Network::INetworkPayload& payload);
260
261 MCNAPI ::Scripting::Result_deprecated<void> $_sendToManager(::Editor::Network::INetworkPayload& payload);
262
263 MCNAPI ::Scripting::Result_deprecated<void>
264 $_sendToClientId(::mce::UUID const& clientId, ::Editor::Network::INetworkPayload& payload);
265
266 MCNAPI ::Scripting::Result_deprecated<void>
267 $_sendToClientIds(::std::vector<::mce::UUID> const& clientIds, ::Editor::Network::INetworkPayload& payload);
268
269 MCNAPI ::Scripting::Result_deprecated<void> $_broadcastToClients(::Editor::Network::INetworkPayload& payload);
270
271 MCNAPI ::Scripting::Result_deprecated<void>
272 $_broadcastToClientManagers(::Editor::Network::INetworkPayload& payload);
273
274 MCNAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription>
275 $_listenFor(char const* payloadName, ::std::function<void(::Editor::Network::INetworkPayload const&)> func);
276 // NOLINTEND
277
278public:
279 // vftables
280 // NOLINTBEGIN
281 MCNAPI static void** $vftableForPayloadServiceProvider();
282
283 MCNAPI static void** $vftableForIEditorService();
284 // NOLINTEND
285};
286
287} // namespace Editor::Network
Definition Actor.h:102
Definition CompoundTag.h:13
Definition EditorNetworkPacket.h:19
Definition INetworkPayload.h:12
Definition PayloadServiceProvider.h:18
Definition PayloadService.h:27
MCAPI ::Scripting::Result_deprecated< void > $_sendToManager(::Editor::Network::INetworkPayload &payload)
MCAPI ::Scripting::Result_deprecated< void > $_sendToClientIds(::std::vector<::mce::UUID > const &clientIds, ::Editor::Network::INetworkPayload &payload)
MCAPI::std::string_view $getServiceName() const
MCAPI ::Scripting::Result_deprecated< void > $quit()
MCAPI ::Scripting::Result_deprecated< void > _sendToClientTargets(::std::vector<::Actor * > actorList, ::EditorNetworkPacket &outPacket)
MCAPI ::Scripting::Result_deprecated< void > $_broadcastToClients(::Editor::Network::INetworkPayload &payload)
MCAPI ::Scripting::Result_deprecated< void > $_broadcastToClientManagers(::Editor::Network::INetworkPayload &payload)
MCAPI ::Scripting::Result_deprecated< void > $_sendToClientId(::mce::UUID const &clientId, ::Editor::Network::INetworkPayload &payload)
MCAPI ::Scripting::Result_deprecated< void > $_send(::Editor::Network::INetworkPayload &payload)
MCAPI ::Scripting::Result_deprecated< void > _sendToServer(::Editor::Network::INetworkPayload &payload, ::Editor::Network::PayloadService::SendTarget target)
MCAPI ::Scripting::Result_deprecated< void > _sendToClient(::Editor::Network::INetworkPayload &payload, ::Editor::Network::PayloadService::SendTarget target)
MCAPI void _sendCachedPacketToTarget(::Editor::Network::PayloadService::CachedPacket &packet)
static MCAPI void ** $vftableForIEditorService()
MCAPI ::std::shared_ptr<::Editor::Network::INetworkPayload > _load(::CompoundTag const *dataContainer)
MCAPI ::Scripting::Result_deprecated< void > $init()
MCAPI ::Scripting::Result_deprecated< void > $dispatchToSelf(::Editor::Network::INetworkPayload &payload)
MCAPI void $onReceivePayload(::EditorNetworkPacket const &packet)
MCAPI ::Scripting::Result_deprecated<::EditorNetworkPacket > _populatePacket(::Editor::Network::INetworkPayload *payload, ::Editor::Network::PayloadService::SendTarget target)
MCAPI ::Scripting::Result_deprecated< void > _sendToTarget(::Actor *actor, ::EditorNetworkPacket &outPacket, ::Editor::Network::PayloadService::SendTarget toWhom)
static MCAPI void ** $vftableForPayloadServiceProvider()
static MCAPI ::std::string const & msPayloadNameKey()
MCAPI void _registerPacketFactory(char const *payloadName, ::std::function<::std::shared_ptr<::Editor::Network::INetworkPayload >()> constructorFunc)
MCAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription > $_listenFor(char const *payloadName, ::std::function< void(::Editor::Network::INetworkPayload const &)> func)
MCAPI void $_registerPayload(char const *payloadName, ::std::function<::std::shared_ptr<::Editor::Network::INetworkPayload >()> constructorFunc)
MCAPI ::Bedrock::PubSub::Publisher< void(::Editor::Network::INetworkPayload const &), ::Bedrock::PubSub::ThreadModel::SingleThreaded, 0 > * _findOrCreatePublisher(uint hashVal)
Definition ServiceProviderCollection.h:7
Definition IEditorService.h:11
Definition PacketSender.h:17
Definition ServerPlayer.h:66
Definition WeakEntityRef.h:14
STL namespace.
Definition PayloadService.h:71
Definition Alias.h:14