LeviLamina
Loading...
Searching...
No Matches
EditorExportProjectManagerService.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/editor/WorldType.h"
7#include "mc/deps/core/file/PathBuffer.h"
8#include "mc/deps/core/string/BasicStackString.h"
9#include "mc/deps/core/utility/NonOwnerPointer.h"
10#include "mc/deps/scripting/runtime/Result_deprecated.h"
11#include "mc/editor/ProjectExportStatus.h"
12#include "mc/editor/services/IEditorService.h"
13#include "mc/editor/services/export/ExportResult.h"
14#include "mc/server/editor/serviceproviders/EditorPlayerExportProjectServiceProvider.h"
15#include "mc/server/editor/serviceproviders/EditorServerExportProjectServiceProvider.h"
16#include "mc/world/level/FileArchiver.h"
17
18// auto generated forward declare list
19// clang-format off
20class LevelData;
21class WeakEntityRef;
22namespace Bedrock::PubSub { class Subscription; }
23namespace Core { class FilePathManager; }
24namespace Core { class Path; }
25namespace Editor { class GameOptions; }
26namespace Editor { class ServiceProviderCollection; }
27// clang-format on
28
29namespace Editor::Services {
30
31class EditorExportProjectManagerService : public ::Editor::Services::IEditorService,
34public:
35 // member variables
36 // NOLINTBEGIN
41 // NOLINTEND
42
43public:
44 // prevent constructor by default
45 EditorExportProjectManagerService& operator=(EditorExportProjectManagerService const&);
46 EditorExportProjectManagerService(EditorExportProjectManagerService const&);
47 EditorExportProjectManagerService();
48
49public:
50 // virtual functions
51 // NOLINTBEGIN
52 virtual ~EditorExportProjectManagerService() /*override*/;
53
54 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
55
56 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
57
58 virtual ::std::string_view getServiceName() const /*override*/;
59
60 virtual void beginExportProject(
61 ::WeakEntityRef playerRef,
62 ::Editor::GameOptions const& gameOptions,
63 ::Editor::WorldType const editorWorldType,
64 ::std::function<void(::Editor::ExportResult const&, ::std::string)> callback
65 ) /*override*/;
66
67 virtual bool canExportProject() /*override*/;
68
69 virtual ::Editor::ProjectExportStatus getExportStatus() /*override*/;
70
71 virtual ::Bedrock::PubSub::Subscription addExportBeginTask(
72 ::std::function<void(::FileArchiver::ExportType, ::std::string const&, ::Core::Path const&)> fn
73 ) /*override*/;
74
75 virtual ::Bedrock::PubSub::Subscription addExportCopyCompleteTask(
76 ::std::function<
77 void(::FileArchiver::ExportType, ::Core::PathBuffer<::Core::BasicStackString<char, 1024>> const&)> fn
78 ) /*override*/;
79
80 virtual ::Bedrock::PubSub::Subscription
81 addExportLevelDataMutationTask(::std::function<void(::FileArchiver::ExportType, ::LevelData&)> fn) /*override*/;
82
83 virtual ::Bedrock::PubSub::Subscription addExportPreFileRemovalTask(
84 ::std::function<
85 void(::FileArchiver::ExportType, ::Core::PathBuffer<::Core::BasicStackString<char, 1024>> const&)> fn
86 ) /*override*/;
87
88 virtual ::Bedrock::PubSub::Subscription
89 addExportLevelDataFinalizeTask(::std::function<void(::FileArchiver::ExportType, ::LevelData&)> fn) /*override*/;
90
91 virtual ::Bedrock::PubSub::Subscription addExportPrePackageTask(
92 ::std::function<
93 void(::FileArchiver::ExportType, ::Core::PathBuffer<::Core::BasicStackString<char, 1024>> const&)> fn
94 ) /*override*/;
95
96 virtual ::Bedrock::PubSub::Subscription
97 addExportCleanupTask(::std::function<void(::FileArchiver::ExportType)> fn) /*override*/;
98
99 virtual ::std::shared_ptr<::FileArchiver::InterventionPublishers> getInterventionPublisherTable() /*override*/;
100 // NOLINTEND
101
102public:
103 // member functions
104 // NOLINTBEGIN
107 ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager> fileManager,
108 ::Editor::ProjectExportStatus exportStatus
109 );
110
111 MCNAPI void _onExportError(
112 ::std::function<void(::Editor::ExportResult const&, ::std::string)> callback,
113 ::std::string message,
114 ::Editor::ExportResult result
115 );
116 // NOLINTEND
117
118public:
119 // constructor thunks
120 // NOLINTBEGIN
121 MCNAPI void* $ctor(
123 ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager> fileManager,
124 ::Editor::ProjectExportStatus exportStatus
125 );
126 // NOLINTEND
127
128public:
129 // destructor thunk
130 // NOLINTBEGIN
131 MCNAPI void $dtor();
132 // NOLINTEND
133
134public:
135 // virtual function thunks
136 // NOLINTBEGIN
137 MCNAPI ::Scripting::Result_deprecated<void> $init();
138
139 MCNAPI ::Scripting::Result_deprecated<void> $quit();
140
141 MCNAPI ::std::string_view $getServiceName() const;
142
144 ::WeakEntityRef playerRef,
145 ::Editor::GameOptions const& gameOptions,
146 ::Editor::WorldType const editorWorldType,
147 ::std::function<void(::Editor::ExportResult const&, ::std::string)> callback
148 );
149
150 MCNAPI bool $canExportProject();
151
152 MCNAPI ::Editor::ProjectExportStatus $getExportStatus();
153
154 MCNAPI ::Bedrock::PubSub::Subscription $addExportBeginTask(
155 ::std::function<void(::FileArchiver::ExportType, ::std::string const&, ::Core::Path const&)> fn
156 );
157
158 MCNAPI ::Bedrock::PubSub::Subscription $addExportCopyCompleteTask(
159 ::std::function<
160 void(::FileArchiver::ExportType, ::Core::PathBuffer<::Core::BasicStackString<char, 1024>> const&)> fn
161 );
162
163 MCNAPI ::Bedrock::PubSub::Subscription
164 $addExportLevelDataMutationTask(::std::function<void(::FileArchiver::ExportType, ::LevelData&)> fn);
165
166 MCNAPI ::Bedrock::PubSub::Subscription $addExportPreFileRemovalTask(
167 ::std::function<
168 void(::FileArchiver::ExportType, ::Core::PathBuffer<::Core::BasicStackString<char, 1024>> const&)> fn
169 );
170
171 MCNAPI ::Bedrock::PubSub::Subscription
172 $addExportLevelDataFinalizeTask(::std::function<void(::FileArchiver::ExportType, ::LevelData&)> fn);
173
174 MCNAPI ::Bedrock::PubSub::Subscription $addExportPrePackageTask(
175 ::std::function<
176 void(::FileArchiver::ExportType, ::Core::PathBuffer<::Core::BasicStackString<char, 1024>> const&)> fn
177 );
178
179 MCNAPI ::Bedrock::PubSub::Subscription $addExportCleanupTask(::std::function<void(::FileArchiver::ExportType)> fn);
180
181 MCNAPI ::std::shared_ptr<::FileArchiver::InterventionPublishers> $getInterventionPublisherTable();
182
183
184 // NOLINTEND
185
186public:
187 // vftables
188 // NOLINTBEGIN
189 MCNAPI static void** $vftableForIEditorService();
190
192
194 // NOLINTEND
195};
196
197} // namespace Editor::Services
Definition Subscription.h:10
Definition BasicStackString.h:8
Definition FilePathManager.h:18
Definition PathBuffer.h:8
Definition Path.h:10
Definition GameOptions.h:15
Definition ServiceProviderCollection.h:7
MCAPI::Bedrock::PubSub::Subscription $addExportPrePackageTask(::std::function< void(::FileArchiver::ExportType, ::Core::PathBuffer<::Core::BasicStackString< char, 1024 > > const &)> fn)
MCAPI::Bedrock::PubSub::Subscription $addExportLevelDataMutationTask(::std::function< void(::FileArchiver::ExportType, ::LevelData &)> fn)
MCAPI EditorExportProjectManagerService(::Editor::ServiceProviderCollection &providers, ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager > fileManager, ::Editor::ProjectExportStatus exportStatus)
MCAPI ::Scripting::Result_deprecated< void > $init()
MCAPI void * $ctor(::Editor::ServiceProviderCollection &providers, ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager > fileManager, ::Editor::ProjectExportStatus exportStatus)
MCAPI void _onExportError(::std::function< void(::Editor::ExportResult const &, ::std::string)> callback, ::std::string message, ::Editor::ExportResult result)
MCAPI ::std::shared_ptr<::FileArchiver::InterventionPublishers > $getInterventionPublisherTable()
MCAPI::Bedrock::PubSub::Subscription $addExportCleanupTask(::std::function< void(::FileArchiver::ExportType)> fn)
MCAPI::Editor::ProjectExportStatus $getExportStatus()
MCAPI::Bedrock::PubSub::Subscription $addExportCopyCompleteTask(::std::function< void(::FileArchiver::ExportType, ::Core::PathBuffer<::Core::BasicStackString< char, 1024 > > const &)> fn)
MCAPI::Bedrock::PubSub::Subscription $addExportBeginTask(::std::function< void(::FileArchiver::ExportType, ::std::string const &, ::Core::Path const &)> fn)
MCAPI::std::string_view $getServiceName() const
MCAPI::Bedrock::PubSub::Subscription $addExportLevelDataFinalizeTask(::std::function< void(::FileArchiver::ExportType, ::LevelData &)> fn)
MCAPI ::Scripting::Result_deprecated< void > $quit()
static MCAPI void ** $vftableForEditorServerExportProjectServiceProvider()
static MCAPI void ** $vftableForEditorPlayerExportProjectServiceProvider()
MCAPI::Bedrock::PubSub::Subscription $addExportPreFileRemovalTask(::std::function< void(::FileArchiver::ExportType, ::Core::PathBuffer<::Core::BasicStackString< char, 1024 > > const &)> fn)
MCAPI void $beginExportProject(::WeakEntityRef playerRef, ::Editor::GameOptions const &gameOptions, ::Editor::WorldType const editorWorldType, ::std::function< void(::Editor::ExportResult const &, ::std::string)> callback)
Definition EditorPlayerExportProjectServiceProvider.h:18
Definition EditorServerExportProjectServiceProvider.h:19
Definition IEditorService.h:11
Definition LevelData.h:50
Definition WeakEntityRef.h:14
Definition Alias.h:14