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& extensionName,
35 activationClosure,
37 shutdownClosure,
38 ::std::optional<::Editor::API::EditorExtensionOptionalParameters> options,
39 ::Editor::API::ServerScriptPackType packType
40 ) = 0;
41
42 virtual ::Scripting::Result_deprecated<::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>>
43 getExtension(::std::string const& extensionName) = 0;
44
45 virtual bool hasExtension(::std::string const& extensionName) = 0;
46
47 virtual void
48 forEachExtension(::std::function<void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>)> func) = 0;
49
50 virtual void forEachExtensionOrdered(
51 ::std::function<void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>)> func
52 ) = 0;
53
54 virtual void forEachExtensionReverse(
55 ::std::function<void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>)> func
56 ) = 0;
57
58 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> registerForScriptSystemRebuildEvent(
59 ::std::function<::Scripting::Result_deprecated<void>(::std::optional<::Scripting::ContextId>)> handler
60 ) = 0;
61
62 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription>
63 registerForScriptSystemTeardownEvent(::std::function<::Scripting::Result_deprecated<void>()> handler) = 0;
64
65 virtual ::Scripting::Result_deprecated<void> destroyRegisteredExtensions() = 0;
66
67 virtual ::Scripting::Result_deprecated<void>
68 createExtensionContexts(::Scripting::ContextId contextId, bool finalEvent) = 0;
69 // NOLINTEND
70
71public:
72 // virtual function thunks
73 // NOLINTBEGIN
74
75 // NOLINTEND
76};
77
78} // namespace Editor::API
Definition Subscription.h:10
Definition EditorExtensionContext.h:26
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