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/script_core/lifetime_registry/scripting/TypedObjectHandle.h"
9#include "mc/deps/script_core/runtime/scripting/Result_deprecated.h"
10#include "mc/deps/script_core/script_engine/scripting/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::API { class EditorExtension; }
20namespace Editor::API { class EditorExtensionContext; }
21namespace Editor::API { struct EditorExtensionOptionalParameters; }
22namespace Scripting { class WeakLifetimeScope; }
23namespace Scripting { struct ContextId; }
24// clang-format on
25
26namespace Editor::API {
27
28class EditorExtensionService : public ::Editor::Services::IEditorService,
30public:
31 // member variables
32 // NOLINTBEGIN
39 // NOLINTEND
40
41public:
42 // prevent constructor by default
43 EditorExtensionService& operator=(EditorExtensionService const&);
44 EditorExtensionService(EditorExtensionService const&);
45 EditorExtensionService();
46
47public:
48 // virtual functions
49 // NOLINTBEGIN
50 virtual ~EditorExtensionService() /*override*/ = default;
51
52 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
53
54 virtual ::Scripting::Result_deprecated<void> ready() /*override*/;
55
56 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
57
58 virtual ::std::string_view getServiceName() const /*override*/;
59
60 virtual ::Scripting::Result_deprecated<::Bedrock::NonOwnerPointer<::Editor::API::EditorExtension>>
61 registerExtension(
62 ::std::string const& extensionName,
65 activationClosure,
67 sessionLifecycleClosure,
69 shutdownClosure,
70 ::std::optional<::Editor::API::EditorExtensionOptionalParameters> options,
71 ::Editor::API::ServerScriptPackType packType
72 ) /*override*/;
73
74 virtual ::Scripting::Result_deprecated<::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>>
75 getExtension(::std::string const& extensionName) /*override*/;
76
77 virtual bool hasExtension(::std::string const& extensionName) /*override*/;
78
79 virtual void forEachExtension(
80 ::std::function<void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>)> func
81 ) /*override*/;
82
83 virtual void forEachExtensionOrdered(
84 ::std::function<void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>)> func
85 ) /*override*/;
86
87 virtual void forEachExtensionReverse(
88 ::std::function<void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>)> func
89 ) /*override*/;
90
91 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> registerForScriptSystemRebuildEvent(
92 ::std::function<::Scripting::Result_deprecated<void>(::std::optional<::Scripting::ContextId>)> handler
93 ) /*override*/;
94
95 virtual ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription>
96 registerForScriptSystemTeardownEvent(::std::function<::Scripting::Result_deprecated<void>()> handler) /*override*/;
97
98 virtual ::Scripting::Result_deprecated<void> destroyRegisteredExtensions() /*override*/;
99
100 virtual ::Scripting::Result_deprecated<void> createExtensionContexts(bool shouldNotify) /*override*/;
101 // NOLINTEND
102
103public:
104 // virtual function thunks
105 // NOLINTBEGIN
106 MCNAPI ::Scripting::Result_deprecated<void> $init();
107
108 MCNAPI ::Scripting::Result_deprecated<void> $ready();
109
110 MCNAPI ::Scripting::Result_deprecated<void> $quit();
111
112 MCNAPI ::std::string_view $getServiceName() const;
113
114 MCNAPI ::Scripting::Result_deprecated<::Bedrock::NonOwnerPointer<::Editor::API::EditorExtension>>
116 ::std::string const& extensionName,
119 activationClosure,
121 sessionLifecycleClosure,
123 shutdownClosure,
124 ::std::optional<::Editor::API::EditorExtensionOptionalParameters> options,
125 ::Editor::API::ServerScriptPackType packType
126 );
127
128 MCNAPI ::Scripting::Result_deprecated<::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>>
129 $getExtension(::std::string const& extensionName);
130
131 MCNAPI bool $hasExtension(::std::string const& extensionName);
132
133 MCNAPI void
134 $forEachExtension(::std::function<void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>)> func);
135
136 MCNAPI void
137 $forEachExtensionOrdered(::std::function<void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>)> func);
138
139 MCNAPI void
140 $forEachExtensionReverse(::std::function<void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension>)> func);
141
142 MCNAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription> $registerForScriptSystemRebuildEvent(
143 ::std::function<::Scripting::Result_deprecated<void>(::std::optional<::Scripting::ContextId>)> handler
144 );
145
146 MCNAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription>
148
149 MCNAPI ::Scripting::Result_deprecated<void> $destroyRegisteredExtensions();
150
151 MCNAPI ::Scripting::Result_deprecated<void> $createExtensionContexts(bool shouldNotify);
152
153
154 // NOLINTEND
155};
156
157} // namespace Editor::API
Definition Subscription.h:10
Definition EditorExtensionContext.h:26
Definition EditorExtensionServiceProvider.h:24
MCAPI void $forEachExtension(::std::function< void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension >)> func)
MCAPI ::Scripting::Result_deprecated< void > $destroyRegisteredExtensions()
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(bool shouldNotify)
MCAPI ::Scripting::Result_deprecated<::Bedrock::PubSub::Subscription > $registerForScriptSystemTeardownEvent(::std::function<::Scripting::Result_deprecated< void >()> handler)
MCAPI ::Scripting::Result_deprecated< void > $init()
MCAPI void $forEachExtensionReverse(::std::function< void(::Bedrock::NotNullNonOwnerPtr<::Editor::API::EditorExtension >)> func)
MCAPI ::Scripting::Result_deprecated< void > $quit()
MCAPI bool $hasExtension(::std::string const &extensionName)
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 >)> sessionLifecycleClosure, ::Scripting::Closure< void(::Scripting::TypedObjectHandle<::Editor::API::EditorExtensionContext >)> shutdownClosure, ::std::optional<::Editor::API::EditorExtensionOptionalParameters > options, ::Editor::API::ServerScriptPackType packType)
MCAPI::std::string_view $getServiceName() const
Definition EditorExtension.h:10
Definition IEditorService.h:11
Definition Closure.h:8
Definition Result_deprecated.h:8
Definition WeakLifetimeScope.h:12
Definition EditorExtensionOptionalParameters.h:7
Definition ContextId.h:7
Definition TypedObjectHandle.h:8
Definition Alias.h:14