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_deprecated.h"
10#include "mc/deps/scripting/script_engine/Closure.h"
11#include "mc/editor/script/ServerScriptPackType.h"
12#include "mc/editor/services/IEditorService.h"
13#include "mc/server/editor/api/EditorExtensionServiceProvider.h"
14
15// auto generated forward declare list
16// clang-format off
17namespace Bedrock::PubSub { class Subscription; }
18namespace Bedrock::PubSub::ThreadModel { struct SingleThreaded; }
19namespace Editor { class ServiceProviderCollection; }
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
29class EditorExtensionService : public ::Editor::Services::IEditorService,
31public:
32 // member variables
33 // NOLINTBEGIN
40 // NOLINTEND
41
42public:
43 // prevent constructor by default
44 EditorExtensionService& operator=(EditorExtensionService const&);
45 EditorExtensionService(EditorExtensionService const&);
46 EditorExtensionService();
47
48public:
49 // virtual functions
50 // NOLINTBEGIN
51 virtual ~EditorExtensionService() /*override*/;
52
53 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
54
55 virtual ::Scripting::Result_deprecated<void> ready() /*override*/;
56
57 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
58
59 virtual ::std::string_view getServiceName() const /*override*/;
60
61 virtual ::Scripting::Result_deprecated<::Bedrock::NonOwnerPointer<::Editor::API::EditorExtension>>
62 registerExtension(
63 ::std::string const& extensionName,
66 activationClosure,
68 shutdownClosure,
69 ::std::optional<::Editor::API::EditorExtensionOptionalParameters> options,
70 ::Editor::API::ServerScriptPackType packType
71 ) /*override*/;
72
73 virtual ::Scripting::Result_deprecated<::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>>
74 getExtension(::std::string const& extensionName) /*override*/;
75
76 virtual bool hasExtension(::std::string const& extensionName) /*override*/;
77
78 virtual void forEachExtension(
79 ::std::function<void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>)> func
80 ) /*override*/;
81
82 virtual void forEachExtensionOrdered(
83 ::std::function<void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>)> func
84 ) /*override*/;
85
86 virtual void forEachExtensionReverse(
87 ::std::function<void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>)> func
88 ) /*override*/;
89
90 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> registerForScriptSystemRebuildEvent(
91 ::std::function<::Scripting::Result_deprecated<void>(::std::optional<::Scripting::ContextId>)> handler
92 ) /*override*/;
93
94 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription>
95 registerForScriptSystemTeardownEvent(::std::function<::Scripting::Result_deprecated<void>()> handler) /*override*/;
96
97 virtual ::Scripting::Result_deprecated<void> destroyRegisteredExtensions() /*override*/;
98
99 virtual ::Scripting::Result_deprecated<void>
100 createExtensionContexts(::Scripting::ContextId contextId, bool finalEvent) /*override*/;
101 // NOLINTEND
102
103public:
104 // member functions
105 // NOLINTBEGIN
107
109 // NOLINTEND
110
111public:
112 // constructor thunks
113 // NOLINTBEGIN
115 // NOLINTEND
116
117public:
118 // destructor thunk
119 // NOLINTBEGIN
120 MCNAPI void $dtor();
121 // NOLINTEND
122
123public:
124 // virtual function thunks
125 // NOLINTBEGIN
126 MCNAPI ::Scripting::Result_deprecated<void> $init();
127
128 MCNAPI ::Scripting::Result_deprecated<void> $ready();
129
130 MCNAPI ::Scripting::Result_deprecated<void> $quit();
131
132 MCNAPI ::std::string_view $getServiceName() const;
133
134 MCNAPI ::Scripting::Result_deprecated<::Bedrock::NonOwnerPointer<::Editor::API::EditorExtension>>
136 ::std::string const& extensionName,
139 activationClosure,
141 shutdownClosure,
142 ::std::optional<::Editor::API::EditorExtensionOptionalParameters> options,
143 ::Editor::API::ServerScriptPackType packType
144 );
145
146 MCNAPI ::Scripting::Result_deprecated<::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>>
147 $getExtension(::std::string const& extensionName);
148
149 MCNAPI bool $hasExtension(::std::string const& extensionName);
150
151 MCNAPI void
152 $forEachExtension(::std::function<void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>)> func);
153
154 MCNAPI void
155 $forEachExtensionOrdered(::std::function<void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>)> func);
156
157 MCNAPI void
158 $forEachExtensionReverse(::std::function<void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>)> func);
159
160 MCNAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> $registerForScriptSystemRebuildEvent(
161 ::std::function<::Scripting::Result_deprecated<void>(::std::optional<::Scripting::ContextId>)> handler
162 );
163
164 MCNAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription>
166
167 MCNAPI ::Scripting::Result_deprecated<void> $destroyRegisteredExtensions();
168
169 MCNAPI ::Scripting::Result_deprecated<void>
171
172
173 // NOLINTEND
174
175public:
176 // vftables
177 // NOLINTBEGIN
178 MCNAPI static void** $vftableForIEditorService();
179
181 // NOLINTEND
182};
183
184} // namespace Editor::API
Definition Subscription.h:10
Definition EditorExtensionContext.h:25
Definition EditorExtensionServiceProvider.h:24
MCAPI void _sortExtensionListIntoExecutionOrder()
MCAPI void $forEachExtension(::std::function< void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension >)> func)
MCAPI ::Scripting::Result_deprecated< void > $destroyRegisteredExtensions()
MCAPI void * $ctor(::Editor::ServiceProviderCollection &providers)
MCAPI ::Scripting::Result_deprecated< void > $ready()
MCAPI ::Scripting::Result_deprecated<::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension > > $getExtension(::std::string const &extensionName)
MCAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription > $registerForScriptSystemRebuildEvent(::std::function<::Scripting::Result_deprecated< void >(::std::optional<::Scripting::ContextId >)> handler)
MCAPI void $forEachExtensionOrdered(::std::function< void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension >)> func)
MCAPI ::Scripting::Result_deprecated< void > $createExtensionContexts(::Scripting::ContextId contextId, bool finalEvent)
MCAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription > $registerForScriptSystemTeardownEvent(::std::function<::Scripting::Result_deprecated< void >()> handler)
static MCAPI void ** $vftableForIEditorService()
MCAPI ::Scripting::Result_deprecated< void > $init()
MCAPI void $forEachExtensionReverse(::std::function< void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension >)> func)
MCAPI ::Scripting::Result_deprecated< void > $quit()
static MCAPI void ** $vftableForEditorExtensionServiceProvider()
MCAPI ::Scripting::Result_deprecated<::Bedrock::NonOwnerPointer<::Editor::API::EditorExtension > > $registerExtension(::std::string const &extensionName, ::Scripting::WeakLifetimeScope scope, ::Scripting::Closure< void(::Scripting::TypedObjectHandle<::Editor::API::EditorExtensionContext >)> activationClosure, ::Scripting::Closure< void(::Scripting::TypedObjectHandle<::Editor::API::EditorExtensionContext >)> shutdownClosure, ::std::optional<::Editor::API::EditorExtensionOptionalParameters > options, ::Editor::API::ServerScriptPackType packType)
MCAPI EditorExtensionService(::Editor::ServiceProviderCollection &providers)
MCAPI bool $hasExtension(::std::string const &extensionName)
MCAPI::std::string_view $getServiceName() const
Definition EditorExtension.h:22
Definition ServiceProviderCollection.h:7
Definition IEditorService.h:11
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
Definition Alias.h:14