LeviLamina
Loading...
Searching...
No Matches
EditorExtensionServiceProvider.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/deps/scripting/lifetime_registry/TypedObjectHandle.h"
8#include "mc/deps/scripting/runtime/Result_deprecated.h"
9#include "mc/deps/scripting/script_engine/Closure.h"
10#include "mc/editor/script/ServerScriptPackType.h"
11
12// auto generated forward declare list
13// clang-format off
14namespace Bedrock::PubSub { class Subscription; }
15namespace Editor::API { class EditorExtension; }
16namespace Editor::API { class EditorExtensionContext; }
17namespace Editor::API { struct EditorExtensionOptionalParameters; }
18namespace Scripting { class WeakLifetimeScope; }
19namespace Scripting { struct ContextId; }
20// clang-format on
21
22namespace Editor::API {
23
25public:
26 // virtual functions
27 // NOLINTBEGIN
28 virtual ~EditorExtensionServiceProvider() = default;
29
30 virtual ::Scripting::Result_deprecated<::Bedrock::NonOwnerPointer<::Editor::API::EditorExtension>>
31 registerExtension(
32 ::std::string const&,
36 ::std::optional<::Editor::API::EditorExtensionOptionalParameters>,
37 ::Editor::API::ServerScriptPackType
38 ) = 0;
39
40 virtual ::Scripting::Result_deprecated<::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>>
41 getExtension(::std::string const&) = 0;
42
43 virtual bool hasExtension(::std::string const&) = 0;
44
45 virtual void
46 forEachExtension(::std::function<void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>)>) = 0;
47
48 virtual void forEachExtensionOrdered(
49 ::std::function<void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>)>
50 ) = 0;
51
52 virtual void forEachExtensionReverse(
53 ::std::function<void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>)>
54 ) = 0;
55
56 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> registerForScriptSystemRebuildEvent(
57 ::std::function<::Scripting::Result_deprecated<void>(::std::optional<::Scripting::ContextId>)>
58 ) = 0;
59
60 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription>
61 registerForScriptSystemTeardownEvent(::std::function<::Scripting::Result_deprecated<void>()>) = 0;
62
63 virtual ::Scripting::Result_deprecated<void> destroyRegisteredExtensions() = 0;
64
65 virtual ::Scripting::Result_deprecated<void> createExtensionContexts(::Scripting::ContextId, bool) = 0;
66 // NOLINTEND
67
68public:
69 // virtual function thunks
70 // NOLINTBEGIN
71
72 // NOLINTEND
73};
74
75} // namespace Editor::API
Definition Subscription.h:10
Definition EditorExtensionContext.h:25
Definition EditorExtensionServiceProvider.h:24
Definition EditorExtension.h:22
Definition Closure.h:8
Definition Result_deprecated.h:8
Definition WeakLifetimeScope.h:7
Definition EditorExtensionOptionalParameters.h:12
Definition ContextId.h:7
Definition TypedObjectHandle.h:8