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
45 struct CachedPacket {
46 public:
47 // member variables
48 // NOLINTBEGIN
52 // NOLINTEND
53
54 public:
55 // prevent constructor by default
56 CachedPacket& operator=(CachedPacket const&);
57 CachedPacket(CachedPacket const&);
58 CachedPacket();
59
60 public:
61 // member functions
62 // NOLINTBEGIN
63 MCNAPI ~CachedPacket();
64 // NOLINTEND
65
66 public:
67 // destructor thunk
68 // NOLINTBEGIN
69 MCNAPI void $dtor();
70 // NOLINTEND
71 };
72
73 struct ConstructionInfo {
74 public:
75 // member variables
76 // NOLINTBEGIN
78 // NOLINTEND
79
80 public:
81 // prevent constructor by default
82 ConstructionInfo& operator=(ConstructionInfo const&);
83 ConstructionInfo(ConstructionInfo const&);
84 ConstructionInfo();
85
86 public:
87 // member functions
88 // NOLINTBEGIN
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&);
113 PayloadService(PayloadService const&);
114 PayloadService();
115
116public:
117 // virtual functions
118 // NOLINTBEGIN
119 virtual ~PayloadService() /*override*/;
120
121 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
122
123 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
124
125 virtual ::std::string_view getServiceName() const /*override*/;
126
127 virtual ::Scripting::Result_deprecated<void>
128 dispatchToSelf(::Editor::Network::INetworkPayload& payload) /*override*/;
129
130 virtual void onReceivePayload(::EditorNetworkPacket const& packet) /*override*/;
131
132 virtual void _registerPayload(
133 char const* payloadName,
134 ::std::function<::std::shared_ptr<::Editor::Network::INetworkPayload>()> constructorFunc
135 ) /*override*/;
136
137 virtual ::Scripting::Result_deprecated<void> _send(::Editor::Network::INetworkPayload& payload) /*override*/;
138
139 virtual ::Scripting::Result_deprecated<void>
140 _sendToManager(::Editor::Network::INetworkPayload& payload) /*override*/;
141
142 virtual ::Scripting::Result_deprecated<void>
143 _sendToClientId(::mce::UUID const& clientId, ::Editor::Network::INetworkPayload& payload) /*override*/;
144
145 virtual ::Scripting::Result_deprecated<void> _sendToClientIds(
146 ::std::vector<::mce::UUID> const& clientIds,
147 ::Editor::Network::INetworkPayload& payload
148 ) /*override*/;
149
150 virtual ::Scripting::Result_deprecated<void>
151 _broadcastToClients(::Editor::Network::INetworkPayload& payload) /*override*/;
152
153 virtual ::Scripting::Result_deprecated<void>
154 _broadcastToClientManagers(::Editor::Network::INetworkPayload& payload) /*override*/;
155
156 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> _listenFor(
157 char const* payloadName,
158 ::std::function<void(::Editor::Network::INetworkPayload const&)> func
159 ) /*override*/;
160 // NOLINTEND
161
162public:
163 // member functions
164 // NOLINTBEGIN
165 MCNAPI PayloadService(
166 ::Editor::ServiceProviderCollection& providers,
167 ::WeakEntityRef optionalPlayerRef,
168 ::PacketSender& packetSender,
169 bool isClientSide
170 );
171
172 MCNAPI ::Bedrock::PubSub::
173 Publisher<void(::Editor::Network::INetworkPayload const&), ::Bedrock::PubSub::ThreadModel::SingleThreaded, 0>*
175
176 MCNAPI ::std::shared_ptr<::Editor::Network::INetworkPayload> _load(::CompoundTag const* dataContainer);
177
178 MCNAPI ::Scripting::Result_deprecated<::EditorNetworkPacket>
179 _populatePacket(::Editor::Network::INetworkPayload* payload, ::Editor::Network::PayloadService::SendTarget target);
180
182 char const* payloadName,
183 ::std::function<::std::shared_ptr<::Editor::Network::INetworkPayload>()> constructorFunc
184 );
185
186 MCNAPI void _sendCachedPacketToTarget(::Editor::Network::PayloadService::CachedPacket& packet);
187
188 MCNAPI ::Scripting::Result_deprecated<void>
189 _sendToClient(::Editor::Network::INetworkPayload& payload, ::Editor::Network::PayloadService::SendTarget target);
190
191 MCNAPI ::Scripting::Result_deprecated<void>
192 _sendToClientTargets(::std::vector<::Actor*> actorList, ::EditorNetworkPacket& outPacket);
193
194 MCNAPI ::Scripting::Result_deprecated<void>
195 _sendToServer(::Editor::Network::INetworkPayload& payload, ::Editor::Network::PayloadService::SendTarget target);
196
197 MCNAPI ::Scripting::Result_deprecated<void> _sendToTarget(
198 ::Actor* actor,
199 ::EditorNetworkPacket& outPacket,
200 ::Editor::Network::PayloadService::SendTarget toWhom
201 );
202 // NOLINTEND
203
204public:
205 // static variables
206 // NOLINTBEGIN
207 MCNAPI static ::std::string const& msPayloadNameKey();
208 // NOLINTEND
209
210public:
211 // constructor thunks
212 // NOLINTBEGIN
213 MCNAPI void* $ctor(
214 ::Editor::ServiceProviderCollection& providers,
215 ::WeakEntityRef optionalPlayerRef,
216 ::PacketSender& packetSender,
217 bool isClientSide
218 );
219 // NOLINTEND
220
221public:
222 // destructor thunk
223 // NOLINTBEGIN
224 MCNAPI void $dtor();
225 // NOLINTEND
226
227public:
228 // virtual function thunks
229 // NOLINTBEGIN
230 MCNAPI ::Scripting::Result_deprecated<void> $init();
231
232 MCNAPI ::Scripting::Result_deprecated<void> $quit();
233
234 MCNAPI ::std::string_view $getServiceName() const;
235
236 MCNAPI ::Scripting::Result_deprecated<void> $dispatchToSelf(::Editor::Network::INetworkPayload& payload);
237
238 MCNAPI void $onReceivePayload(::EditorNetworkPacket const& packet);
239
240 MCNAPI void $_registerPayload(
241 char const* payloadName,
242 ::std::function<::std::shared_ptr<::Editor::Network::INetworkPayload>()> constructorFunc
243 );
244
245 MCNAPI ::Scripting::Result_deprecated<void> $_send(::Editor::Network::INetworkPayload& payload);
246
247 MCNAPI ::Scripting::Result_deprecated<void> $_sendToManager(::Editor::Network::INetworkPayload& payload);
248
249 MCNAPI ::Scripting::Result_deprecated<void>
250 $_sendToClientId(::mce::UUID const& clientId, ::Editor::Network::INetworkPayload& payload);
251
252 MCNAPI ::Scripting::Result_deprecated<void>
253 $_sendToClientIds(::std::vector<::mce::UUID> const& clientIds, ::Editor::Network::INetworkPayload& payload);
254
255 MCNAPI ::Scripting::Result_deprecated<void> $_broadcastToClients(::Editor::Network::INetworkPayload& payload);
256
257 MCNAPI ::Scripting::Result_deprecated<void>
258 $_broadcastToClientManagers(::Editor::Network::INetworkPayload& payload);
259
260 MCNAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription>
261 $_listenFor(char const* payloadName, ::std::function<void(::Editor::Network::INetworkPayload const&)> func);
262
263
264 // NOLINTEND
265
266public:
267 // vftables
268 // NOLINTBEGIN
269 MCNAPI static void** $vftableForPayloadServiceProvider();
270
271 MCNAPI static void** $vftableForIEditorService();
272 // NOLINTEND
273};
274
275} // namespace Editor::Network
Definition Actor.h:105
Definition Subscription.h:10
Definition CompoundTag.h:23
Definition EditorNetworkPacket.h:19
Definition INetworkPayload.h:12
Definition PayloadServiceProvider.h:18
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 void * $ctor(::Editor::ServiceProviderCollection &providers, ::WeakEntityRef optionalPlayerRef, ::PacketSender &packetSender, bool isClientSide)
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 ::Bedrock::PubSub::Publisher< void(::Editor::Network::INetworkPayload const &), ::Bedrock::PubSub::ThreadModel::SingleThreaded, 0 > * _findOrCreatePublisher(uint hashVal)
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)
Definition ServiceProviderCollection.h:7
Definition IEditorService.h:11
Definition PacketSender.h:17
Definition ServerPlayer.h:67
Definition WeakEntityRef.h:14
Definition UUID.h:7
STL namespace.
Definition PayloadService.h:45
Definition Alias.h:14