Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
DataStoreServiceProvider.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/script_core/runtime/scripting/Result_deprecated.h"
7#include "mc/editor/datastore/EventType.h"
8
9// auto generated forward declare list
10// clang-format off
11class HashedString;
12namespace Bedrock::PubSub { class Subscription; }
13namespace Editor::DataStore { class IContentBadgeContainer; }
14namespace Editor::DataStore { class IModalToolContainer; }
15namespace Editor::DataStore { struct PayloadDescription; }
16namespace Json { class Value; }
17// clang-format on
18
19namespace Editor::Services {
20
22public:
23 // virtual functions
24 // NOLINTBEGIN
25 virtual ~DataStoreServiceProvider() = default;
26
27 virtual ::Editor::DataStore::IContentBadgeContainer& getContentBadgeContainer() = 0;
28
29 virtual ::Editor::DataStore::IModalToolContainer& getModalToolContainer() = 0;
30
31 virtual ::Scripting::Result_deprecated<void> dispatchEvent(
32 ::HashedString const& dataTag,
33 ::Editor::DataStore::EventType eventType,
34 ::Json::Value const& payload,
36 ) = 0;
37
38 virtual ::Json::Value
39 getPayload(::HashedString const& dataTag, ::Editor::DataStore::PayloadDescription const& desc) const = 0;
40
41 virtual ::Bedrock::PubSub::Subscription listenForEvent(
42 ::std::function<void(
43 ::HashedString const&,
44 ::Editor::DataStore::EventType,
45 ::Json::Value const&,
47 )> callback
48 ) = 0;
49 // NOLINTEND
50};
51
52} // namespace Editor::Services
Definition Subscription.h:10
Definition IContentBadgeContainer.h:16
Definition IModalToolContainer.h:13
Definition DataStoreServiceProvider.h:21
Definition HashedString.h:5
Definition Value.h:16
Definition PayloadDescription.h:7