LeviLamina
Loading...
Searching...
No Matches
EditorExtensionService.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/core/utility/pub_sub/Publisher.h"
8#include "mc/deps/scripting/lifetime_registry/TypedObjectHandle.h"
9#include "mc/deps/scripting/runtime/Result.h"
10#include "mc/deps/scripting/runtime/Result_deprecated.h"
11#include "mc/deps/scripting/script_engine/Closure.h"
12#include "mc/editor/script/ServerScriptPackType.h"
13#include "mc/editor/services/IEditorService.h"
14#include "mc/server/editor/api/EditorExtensionServiceProvider.h"
15
16// auto generated forward declare list
17// clang-format off
18namespace Bedrock::PubSub { class Subscription; }
19namespace Bedrock::PubSub::ThreadModel { struct SingleThreaded; }
20namespace Editor::API { class EditorExtension; }
21namespace Editor::API { class EditorExtensionContext; }
22namespace Editor::API { struct EditorExtensionOptionalParameters; }
23namespace Scripting { class WeakLifetimeScope; }
24namespace Scripting { struct ContextId; }
25// clang-format on
26
27namespace Editor::API {
28
31public:
32 // member variables
33 // NOLINTBEGIN
40 // NOLINTEND
41
42public:
43 // prevent constructor by default
47
48public:
49 // virtual functions
50 // NOLINTBEGIN
51 // vIndex: 0
52 virtual ~EditorExtensionService() /*override*/;
53
54 // vIndex: 1
55 virtual ::Scripting::Result<void> init() /*override*/;
56
57 // vIndex: 2
58 virtual ::Scripting::Result<void> ready() /*override*/;
59
60 // vIndex: 3
61 virtual ::Scripting::Result<void> quit() /*override*/;
62
63 // vIndex: 4
64 virtual ::std::string_view getServiceName() const /*override*/;
65
66 // vIndex: 1
67 virtual ::Scripting::Result_deprecated<::Bedrock::NonOwnerPointer<::Editor::API::EditorExtension>>
68 registerExtension(
69 ::std::string const& extensionName,
72 activationClosure,
74 shutdownClosure,
75 ::std::optional<::Editor::API::EditorExtensionOptionalParameters> options,
76 ::Editor::API::ServerScriptPackType packType
77 ) /*override*/;
78
79 // vIndex: 2
80 virtual ::Scripting::Result_deprecated<::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>>
81 getExtension(::std::string const& extensionName) /*override*/;
82
83 // vIndex: 3
84 virtual bool hasExtension(::std::string const& extensionName) /*override*/;
85
86 // vIndex: 4
87 virtual void
88 forEachExtension(::std::function<void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>)> func
89 ) /*override*/;
90
91 // vIndex: 5
92 virtual void
93 forEachExtensionOrdered(::std::function<void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>)> func
94 ) /*override*/;
95
96 // vIndex: 6
97 virtual void
98 forEachExtensionReverse(::std::function<void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>)> func
99 ) /*override*/;
100
101 // vIndex: 7
102 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> registerForScriptSystemRebuildEvent(
103 ::std::function<::Scripting::Result<void>(::std::optional<::Scripting::ContextId>)> handler
104 ) /*override*/;
105
106 // vIndex: 8
107 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription>
108 registerForScriptSystemTeardownEvent(::std::function<::Scripting::Result<void>()> handler) /*override*/;
109
110 // vIndex: 9
111 virtual ::Scripting::Result<void> destroyRegisteredExtensions() /*override*/;
112
113 // vIndex: 10
114 virtual ::Scripting::Result<void>
115 createExtensionContexts(::Scripting::ContextId contextId, bool finalEvent) /*override*/;
116 // NOLINTEND
117
118public:
119 // member functions
120 // NOLINTBEGIN
121 MCAPI void _sortExtensionListIntoExecutionOrder();
122 // NOLINTEND
123
124public:
125 // destructor thunk
126 // NOLINTBEGIN
127 MCAPI void $dtor();
128 // NOLINTEND
129
130public:
131 // virtual function thunks
132 // NOLINTBEGIN
133 MCAPI ::Scripting::Result<void> $init();
134
135 MCFOLD ::Scripting::Result<void> $ready();
136
137 MCAPI ::Scripting::Result<void> $quit();
138
139 MCAPI ::std::string_view $getServiceName() const;
140
141 MCAPI ::Scripting::Result_deprecated<::Bedrock::NonOwnerPointer<::Editor::API::EditorExtension>> $registerExtension(
142 ::std::string const& extensionName,
145 activationClosure,
147 shutdownClosure,
148 ::std::optional<::Editor::API::EditorExtensionOptionalParameters> options,
149 ::Editor::API::ServerScriptPackType packType
150 );
151
152 MCAPI ::Scripting::Result_deprecated<::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>>
153 $getExtension(::std::string const& extensionName);
154
155 MCAPI bool $hasExtension(::std::string const& extensionName);
156
157 MCAPI void
158 $forEachExtension(::std::function<void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>)> func);
159
160 MCAPI void
161 $forEachExtensionOrdered(::std::function<void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>)> func);
162
163 MCAPI void
164 $forEachExtensionReverse(::std::function<void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>)> func);
165
166 MCAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> $registerForScriptSystemRebuildEvent(
167 ::std::function<::Scripting::Result<void>(::std::optional<::Scripting::ContextId>)> handler
168 );
169
170 MCAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription>
171 $registerForScriptSystemTeardownEvent(::std::function<::Scripting::Result<void>()> handler);
172
173 MCAPI ::Scripting::Result<void> $destroyRegisteredExtensions();
174
175 MCAPI ::Scripting::Result<void> $createExtensionContexts(::Scripting::ContextId contextId, bool finalEvent);
176 // NOLINTEND
177
178public:
179 // vftables
180 // NOLINTBEGIN
181 MCAPI static void** $vftableForIEditorService();
182
183 MCAPI static void** $vftableForEditorExtensionServiceProvider();
184 // NOLINTEND
185};
186
187} // namespace Editor::API
Definition EditorExtensionServiceProvider.h:25
Definition EditorExtensionService.h:30
Definition IEditorService.h:11
Definition Closure.h:8
Definition Result.h:8
Definition WeakLifetimeScope.h:12
Definition ContextId.h:7
Definition TypedObjectHandle.h:8
Definition Alias.h:14