LeviLamina
Loading...
Searching...
No Matches
PayloadServiceProvider.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/scripting/runtime/Result_deprecated.h"
7
8// auto generated forward declare list
9// clang-format off
11namespace Bedrock::PubSub { class Subscription; }
12namespace Editor::Network { class INetworkPayload; }
13namespace Editor::Network { struct PayloadMetrics; }
14namespace mce { class UUID; }
15// clang-format on
16
17namespace Editor::Network {
18
20public:
21 // virtual functions
22 // NOLINTBEGIN
23 virtual ~PayloadServiceProvider() = default;
24
25 virtual ::Scripting::Result_deprecated<void> dispatchToSelf(::Editor::Network::INetworkPayload& payload) = 0;
26
27 virtual void onReceivePayload(::EditorNetworkPacket const& packet) = 0;
28
29 virtual ::std::vector<::std::pair<::std::string, ::Editor::Network::PayloadMetrics>>
30 collectMetricsReport() const = 0;
31
32 virtual bool isCollectingMetrics() const = 0;
33
34 virtual ::Editor::Network::PayloadMetrics* _registerPayload(
35 char const* payloadName,
36 ::std::function<::std::shared_ptr<::Editor::Network::INetworkPayload>()> constructorFunc
37 ) = 0;
38
39 virtual ::Scripting::Result_deprecated<void>
41
42 virtual ::Scripting::Result_deprecated<void>
43 _sendToManager(::Editor::Network::INetworkPayload& payload, ::Editor::Network::PayloadMetrics* metrics) = 0;
44
45 virtual ::Scripting::Result_deprecated<void> _sendToClientId(
46 ::mce::UUID const& clientId,
49 ) = 0;
50
51 virtual ::Scripting::Result_deprecated<void> _sendToClientIds(
52 ::std::vector<::mce::UUID> const& clientIds,
55 ) = 0;
56
57 virtual ::Scripting::Result_deprecated<void>
58 _broadcastToClients(::Editor::Network::INetworkPayload& payload, ::Editor::Network::PayloadMetrics* metrics) = 0;
59
60 virtual ::Scripting::Result_deprecated<void> _broadcastToClientManagers(
63 ) = 0;
64
65 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> _listenFor(
66 char const* payloadName,
67 ::std::function<void(::Editor::Network::INetworkPayload const&)> fnSubscriber
68 ) = 0;
69 // NOLINTEND
70
71public:
72 // virtual function thunks
73 // NOLINTBEGIN
74
75 // NOLINTEND
76};
77
78} // namespace Editor::Network
Definition Subscription.h:10
Definition EditorNetworkPacket.h:19
Definition INetworkPayload.h:7
Definition PayloadServiceProvider.h:19
Definition UUID.h:7
Definition PayloadMetrics.h:7