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.h"
8#include "mc/deps/scripting/runtime/Result_deprecated.h"
9#include "mc/editor/selection/PayloadServiceProvider.h"
10#include "mc/editor/services/IEditorService.h"
11
12// auto generated forward declare list
13// clang-format off
14class Actor;
15class CompoundTag;
17class PacketSender;
18class WeakEntityRef;
19namespace Bedrock::PubSub { class Subscription; }
20namespace Bedrock::PubSub::ThreadModel { struct SingleThreaded; }
21namespace Editor { class ServiceProviderCollection; }
22namespace Editor::Network { class INetworkPayload; }
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
61 MCAPI ~ConstructionInfo();
62 // NOLINTEND
63
64 public:
65 // destructor thunk
66 // NOLINTBEGIN
67 MCFOLD 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 MCAPI ~CachedPacket();
90 // NOLINTEND
91
92 public:
93 // destructor thunk
94 // NOLINTBEGIN
95 MCAPI 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<void> init() /*override*/;
124
125 // vIndex: 3
126 virtual ::Scripting::Result<void> quit() /*override*/;
127
128 // vIndex: 4
129 virtual ::std::string_view getServiceName() const /*override*/;
130
131 // vIndex: 1
132 virtual ::Scripting::Result<void> dispatchToSelf(::Editor::Network::INetworkPayload& payload) /*override*/;
133
134 // vIndex: 2
135 virtual void onReceivePayload(::EditorNetworkPacket const& packet) /*override*/;
136
137 // vIndex: 3
138 virtual void _registerPayload(
139 char const* payloadName,
140 ::std::function<::std::shared_ptr<::Editor::Network::INetworkPayload>()> constructorFunc
141 ) /*override*/;
142
143 // vIndex: 4
144 virtual ::Scripting::Result<void> _send(::Editor::Network::INetworkPayload& payload) /*override*/;
145
146 // vIndex: 5
147 virtual ::Scripting::Result<void> _sendToManager(::Editor::Network::INetworkPayload& payload) /*override*/;
148
149 // vIndex: 6
150 virtual ::Scripting::Result<void> _broadcastToClients(::Editor::Network::INetworkPayload& payload) /*override*/;
151
152 // vIndex: 7
153 virtual ::Scripting::Result<void> _broadcastToClientManagers(::Editor::Network::INetworkPayload& payload
154 ) /*override*/;
155
156 // vIndex: 8
157 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> _listenFor(
158 char const* payloadName,
159 ::std::function<void(::Editor::Network::INetworkPayload const&)> func
160 ) /*override*/;
161 // NOLINTEND
162
163public:
164 // member functions
165 // NOLINTBEGIN
166 MCAPI PayloadService(
167 ::Editor::ServiceProviderCollection& providers,
168 ::WeakEntityRef optionalPlayerRef,
169 ::PacketSender& packetSender,
170 bool isClientSide
171 );
172
173 MCAPI ::Bedrock::PubSub::
174 Publisher<void(::Editor::Network::INetworkPayload const&), ::Bedrock::PubSub::ThreadModel::SingleThreaded>*
175 _findOrCreatePublisher(uint hashVal);
176
177 MCAPI ::std::shared_ptr<::Editor::Network::INetworkPayload> _load(::CompoundTag const* data);
178
179 MCAPI ::Scripting::Result_deprecated<::EditorNetworkPacket>
180 _populatePacket(::Editor::Network::INetworkPayload* payload, ::Editor::Network::PayloadService::SendTarget target);
181
182 MCAPI void _registerPacketFactory(
183 char const* payloadName,
184 ::std::function<::std::shared_ptr<::Editor::Network::INetworkPayload>()> constructorFunc
185 );
186
187 MCAPI ::Scripting::Result<void>
188 _sendToClient(::Editor::Network::INetworkPayload& payload, ::Editor::Network::PayloadService::SendTarget target);
189
190 MCAPI ::Scripting::Result<void>
191 _sendToServer(::Editor::Network::INetworkPayload& payload, ::Editor::Network::PayloadService::SendTarget target);
192
193 MCAPI ::Scripting::Result<void> _sendToTarget(
194 ::Actor* actor,
195 ::EditorNetworkPacket& outPacket,
196 ::Editor::Network::PayloadService::SendTarget toWhom
197 );
198 // NOLINTEND
199
200public:
201 // static variables
202 // NOLINTBEGIN
203 MCAPI static ::std::string const& msPayloadNameKey();
204 // NOLINTEND
205
206public:
207 // constructor thunks
208 // NOLINTBEGIN
209 MCAPI void* $ctor(
210 ::Editor::ServiceProviderCollection& providers,
211 ::WeakEntityRef optionalPlayerRef,
212 ::PacketSender& packetSender,
213 bool isClientSide
214 );
215 // NOLINTEND
216
217public:
218 // destructor thunk
219 // NOLINTBEGIN
220 MCAPI void $dtor();
221 // NOLINTEND
222
223public:
224 // virtual function thunks
225 // NOLINTBEGIN
226 MCFOLD ::Scripting::Result<void> $init();
227
228 MCAPI ::Scripting::Result<void> $quit();
229
230 MCAPI ::std::string_view $getServiceName() const;
231
232 MCAPI ::Scripting::Result<void> $dispatchToSelf(::Editor::Network::INetworkPayload& payload);
233
234 MCAPI void $onReceivePayload(::EditorNetworkPacket const& packet);
235
236 MCAPI void $_registerPayload(
237 char const* payloadName,
238 ::std::function<::std::shared_ptr<::Editor::Network::INetworkPayload>()> constructorFunc
239 );
240
241 MCAPI ::Scripting::Result<void> $_send(::Editor::Network::INetworkPayload& payload);
242
243 MCAPI ::Scripting::Result<void> $_sendToManager(::Editor::Network::INetworkPayload& payload);
244
245 MCAPI ::Scripting::Result<void> $_broadcastToClients(::Editor::Network::INetworkPayload& payload);
246
247 MCAPI ::Scripting::Result<void> $_broadcastToClientManagers(::Editor::Network::INetworkPayload& payload);
248
249 MCAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription>
250 $_listenFor(char const* payloadName, ::std::function<void(::Editor::Network::INetworkPayload const&)> func);
251 // NOLINTEND
252
253public:
254 // vftables
255 // NOLINTBEGIN
256 MCAPI static void** $vftableForPayloadServiceProvider();
257
258 MCAPI static void** $vftableForIEditorService();
259 // NOLINTEND
260};
261
262} // namespace Editor::Network
Definition Actor.h:104
Definition CompoundTag.h:13
Definition EditorNetworkPacket.h:17
Definition INetworkPayload.h:12
Definition PayloadServiceProvider.h:18
Definition PayloadService.h:27
Definition ServiceProviderCollection.h:7
Definition IEditorService.h:11
Definition PacketSender.h:17
Definition Result.h:6
Definition ServerPlayer.h:64
Definition WeakEntityRef.h:14
STL namespace.
Definition PayloadService.h:71
Definition Alias.h:14