LeviLamina
Loading...
Searching...
No Matches
FileArchiver.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/file/PathBuffer.h"
7#include "mc/deps/core/file/ZipProgress.h"
8#include "mc/deps/core/string/BasicStackString.h"
9#include "mc/deps/core/threading/Async.h"
10#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
11#include "mc/deps/core/utility/NonOwnerPointer.h"
12#include "mc/deps/core/utility/UniqueOwnerPointer.h"
13#include "mc/deps/core/utility/pub_sub/Publisher.h"
14#include "mc/platform/threading/Mutex.h"
15#include "mc/world/level/FileArchiverOutcome.h"
16
17// auto generated forward declare list
18// clang-format off
21class ILevelListCache;
23class Level;
24class LevelData;
25class LevelDbEnv;
26class LevelStorage;
28class PackInstance;
29class Scheduler;
30class TaskGroup;
31namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
32namespace Core { class FilePathManager; }
33namespace Core { class Path; }
34// clang-format on
35
36class FileArchiver : public ::Bedrock::EnableNonOwnerReferences {
37public:
38 // FileArchiver inner types declare
39 // clang-format off
40 struct CopyWorldResult;
41 struct EduCloudImportInfo;
42 struct ImportWorldsResult;
43 class ProgressReporter;
44 struct Result;
45 struct ExportData;
47 class IWorldConverter;
49 // clang-format on
50
51 // FileArchiver inner types define
52 enum class ExportType : int {
53 Level = 0,
54 Template = 1,
55 Project = 2,
56 PlayableEditorLevel = 3,
57 PackagedLevel = 4,
58 };
59
60 enum class ShowToast : int {
61 Enabled = 0,
62 Disabled = 1,
63 };
64
65 enum class State : int {
66 Idle = 0,
67 Importing = 1,
68 Exporting = 2,
69 };
70
71 struct CopyWorldResult {
72 public:
73 // member variables
74 // NOLINTBEGIN
75 ::ll::TypedStorage<4, 4, ::FileArchiverOutcome> outcome;
76 ::ll::TypedStorage<8, 32, ::std::string> copiedLevelId;
77 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> copiedLevelPath;
78 // NOLINTEND
79
80#ifdef LL_PLAT_S
81#else // LL_PLAT_C
82 public:
83 // prevent constructor by default
84 CopyWorldResult& operator=(CopyWorldResult const&);
85 CopyWorldResult();
86
87#endif
88 public:
89 // member functions
90 // NOLINTBEGIN
91#ifdef LL_PLAT_C
92 MCAPI CopyWorldResult(::FileArchiver::CopyWorldResult const&);
93
94 MCAPI ~CopyWorldResult();
95#endif
96 // NOLINTEND
97
98 public:
99 // constructor thunks
100 // NOLINTBEGIN
101#ifdef LL_PLAT_C
102 MCFOLD void* $ctor(::FileArchiver::CopyWorldResult const&);
103#endif
104 // NOLINTEND
105
106 public:
107 // destructor thunk
108 // NOLINTBEGIN
109#ifdef LL_PLAT_C
110 MCFOLD void $dtor();
111#endif
112 // NOLINTEND
113 };
114
115 struct EduCloudImportInfo {
116 public:
117 // member variables
118 // NOLINTBEGIN
119 ::ll::TypedStorage<1, 1, bool> isCloudImport;
120 ::ll::TypedStorage<1, 1, bool> allowMultiplayer;
121 ::ll::TypedStorage<8, 32, ::std::string> educationOid;
122 ::ll::TypedStorage<8, 32, ::std::string> cTag;
123 ::ll::TypedStorage<8, 32, ::std::string> name;
124 // NOLINTEND
125
126#ifdef LL_PLAT_S
127#else // LL_PLAT_C
128 public:
129 // prevent constructor by default
130 EduCloudImportInfo(EduCloudImportInfo const&);
131
132#endif
133 public:
134 // member functions
135 // NOLINTBEGIN
136#ifdef LL_PLAT_C
137 MCAPI EduCloudImportInfo();
138
139 MCAPI ::FileArchiver::EduCloudImportInfo& operator=(::FileArchiver::EduCloudImportInfo&&);
140
141 MCAPI ::FileArchiver::EduCloudImportInfo& operator=(::FileArchiver::EduCloudImportInfo const&);
142#endif
143
144 MCAPI ~EduCloudImportInfo();
145 // NOLINTEND
146
147 public:
148 // constructor thunks
149 // NOLINTBEGIN
150#ifdef LL_PLAT_C
151 MCAPI void* $ctor();
152#endif
153 // NOLINTEND
154
155 public:
156 // destructor thunk
157 // NOLINTBEGIN
158 MCFOLD void $dtor();
159 // NOLINTEND
160 };
161
163 public:
164 // ImportWorldsResult inner types declare
165 // clang-format off
166 struct ImportWorldResult;
167 // clang-format on
168
169 // ImportWorldsResult inner types define
171 public:
172 // member variables
173 // NOLINTBEGIN
174 ::ll::TypedStorage<4, 4, ::FileArchiverOutcome> outcome;
175 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> path;
176 // NOLINTEND
177
178 public:
179 // member functions
180 // NOLINTBEGIN
181#ifdef LL_PLAT_C
182 MCAPI ~ImportWorldResult();
183#endif
184 // NOLINTEND
185
186 public:
187 // destructor thunk
188 // NOLINTBEGIN
189#ifdef LL_PLAT_C
190 MCFOLD void $dtor();
191#endif
192 // NOLINTEND
193 };
194
195 public:
196 // member variables
197 // NOLINTBEGIN
198 ::ll::TypedStorage<4, 4, ::FileArchiverOutcome> outcome;
199 ::ll::TypedStorage<8, 24, ::std::vector<::FileArchiver::ImportWorldsResult::ImportWorldResult>> worlds;
200 // NOLINTEND
201 };
202
204 public:
205 // member variables
206 // NOLINTBEGIN
207 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mProgressLock;
208 ::ll::TypedStorage<8, 32, ::std::string> mProgressTitle;
209 ::ll::TypedStorage<8, 32, ::std::string> mProgressMessage;
210 // NOLINTEND
211
212 public:
213 // virtual functions
214 // NOLINTBEGIN
215 virtual ~ProgressReporter() /*override*/;
216
217 virtual void clear() /*override*/;
218 // NOLINTEND
219
220 public:
221 // member functions
222 // NOLINTBEGIN
223 MCAPI ProgressReporter();
224
225#ifdef LL_PLAT_C
226 MCAPI ::std::string getProgressMessage();
227
228 MCAPI float getProgressPercentage() const;
229
230 MCAPI ::std::string getProgressTitle();
231#endif
232
233 MCAPI void setProgressMessage(::std::string const& message);
234
235 MCAPI void setProgressTitle(::std::string const& title);
236 // NOLINTEND
237
238 public:
239 // constructor thunks
240 // NOLINTBEGIN
241 MCAPI void* $ctor();
242 // NOLINTEND
243
244 public:
245 // destructor thunk
246 // NOLINTBEGIN
247 MCAPI void $dtor();
248 // NOLINTEND
249
250 public:
251 // virtual function thunks
252 // NOLINTBEGIN
253 MCAPI void $clear();
254
255
256 // NOLINTEND
257
258 public:
259 // vftables
260 // NOLINTBEGIN
261 MCNAPI static void** $vftableForZipProgress();
262
264 // NOLINTEND
265 };
266
267 struct Result {
268 public:
269 // member variables
270 // NOLINTBEGIN
271 ::ll::TypedStorage<4, 4, ::FileArchiverOutcome> outcome;
272 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> fileName;
273 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> levelId;
274 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> originalLevelId;
275 // NOLINTEND
276
277 public:
278 // prevent constructor by default
279 Result& operator=(Result const&);
280 Result();
281
282 public:
283 // member functions
284 // NOLINTBEGIN
285 MCAPI Result(::FileArchiver::Result const&);
286
287 MCAPI ~Result();
288 // NOLINTEND
289
290 public:
291 // constructor thunks
292 // NOLINTBEGIN
293 MCAPI void* $ctor(::FileArchiver::Result const&);
294 // NOLINTEND
295
296 public:
297 // destructor thunk
298 // NOLINTBEGIN
299 MCFOLD void $dtor();
300 // NOLINTEND
301 };
302
303 struct ExportData {
304 public:
305 // member variables
306 // NOLINTBEGIN
307 ::ll::TypedStorage<4, 4, ::FileArchiver::ExportType> mExportType;
308 ::ll::TypedStorage<8, 32, ::std::string> mLevelId;
309 ::ll::TypedStorage<8, 8, uint64> mTotalFileCount;
310 ::ll::TypedStorage<8, 104, ::FileArchiver::Result> mResult;
311 ::ll::TypedStorage<8, 16, ::Bedrock::UniqueOwnerPointer<::LevelStorage>> mLevelStorage;
312 ::ll::TypedStorage<8, 8, ::LevelData*> mLevelData;
313 // NOLINTEND
314 };
315
317 public:
318 // member variables
319 // NOLINTBEGIN
320 ::ll::TypedStorage<1, 2, ::std::optional<bool>> mKeepPlayerData;
321 // NOLINTEND
322 };
323
325 public:
326 // virtual functions
327 // NOLINTBEGIN
328 virtual ~IWorldConverter() = default;
329
330 virtual void enqueueConvertImportingWorldTasks(
331 ::std::shared_ptr<::FileArchiver::Result>& sharedResult,
332 ::Bedrock::NotNullNonOwnerPtr<::FileArchiver::ProgressReporter> progress,
334 ) = 0;
335
336 virtual bool shouldCopyWorldForConversion(::std::string const& levelId) const = 0;
337
338 virtual void enqueueConvertExportingWorldTasks(
339 ::std::shared_ptr<::FileArchiver::ExportData>& exportData,
340 ::Bedrock::NotNullNonOwnerPtr<::FileArchiver::ProgressReporter> progress,
341 ::Bedrock::Threading::Async<void>& prevTaskHandle,
342 ::gsl::not_null<::std::shared_ptr<::FileArchiver::InterventionPublishers>> interventionPublishers,
343 ::std::optional<::FileArchiver::WorldConverterExportSettings> const exportSetting
344 ) = 0;
345 // NOLINTEND
346
347 public:
348 // virtual function thunks
349 // NOLINTBEGIN
350
351 // NOLINTEND
352 };
353
354 struct InterventionPublishers {
355 public:
356 // InterventionPublishers inner types define
357 using BeginSignature = void(::FileArchiver::ExportType, ::std::string const&, ::Core::Path const&);
358
359 using CleanupSignature = void(::FileArchiver::ExportType);
360
361 using CopyCompleteSignature =
362 void(::FileArchiver::ExportType, ::Core::PathBuffer<::Core::BasicStackString<char, 1024>> const&);
363
364 using LevelDataFinalizeSignature = void(::FileArchiver::ExportType, ::LevelData&);
365
366 using LevelDataMutationSignature = void(::FileArchiver::ExportType, ::LevelData&);
367
368 using PreFileRemovalSignature =
369 void(::FileArchiver::ExportType, ::Core::PathBuffer<::Core::BasicStackString<char, 1024>> const&);
370
371 using PrePackageSignature =
372 void(::FileArchiver::ExportType, ::Core::PathBuffer<::Core::BasicStackString<char, 1024>> const&);
373
374 public:
375 // member variables
376 // NOLINTBEGIN
377 ::ll::TypedStorage<
378 8,
379 128,
381 void(::FileArchiver::ExportType, ::std::string const&, ::Core::Path const&),
383 0>>
384 mBegin;
385 ::ll::TypedStorage<
386 8,
387 128,
389 void(::FileArchiver::ExportType, ::Core::PathBuffer<::Core::BasicStackString<char, 1024>> const&),
391 0>>
392 mCopyComplete;
393 ::ll::TypedStorage<
394 8,
395 128,
397 void(::FileArchiver::ExportType, ::LevelData&),
399 0>>
400 mLevelDataMutation;
401 ::ll::TypedStorage<
402 8,
403 128,
405 void(::FileArchiver::ExportType, ::Core::PathBuffer<::Core::BasicStackString<char, 1024>> const&),
407 0>>
408 mPreFileRemoval;
409 ::ll::TypedStorage<
410 8,
411 128,
413 void(::FileArchiver::ExportType, ::LevelData&),
415 0>>
416 mLevelDataFinalize;
417 ::ll::TypedStorage<
418 8,
419 128,
421 void(::FileArchiver::ExportType, ::Core::PathBuffer<::Core::BasicStackString<char, 1024>> const&),
423 0>>
424 mPrePackage;
425 ::ll::TypedStorage<
426 8,
427 128,
428 ::Bedrock::PubSub::
429 Publisher<void(::FileArchiver::ExportType), ::Bedrock::PubSub::ThreadModel::MultiThreaded, 0>>
430 mCleanup;
431 // NOLINTEND
432
433 public:
434 // member functions
435 // NOLINTBEGIN
436 MCAPI InterventionPublishers();
437 // NOLINTEND
438
439 public:
440 // constructor thunks
441 // NOLINTBEGIN
442 MCAPI void* $ctor();
443 // NOLINTEND
444 };
445
446 using OperationCallback = ::std::function<void(::FileArchiver::Result&)>;
447
448public:
449 // member variables
450 // NOLINTBEGIN
451 ::ll::TypedStorage<8, 192, ::FileArchiver::ProgressReporter> mProgress;
452 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mStateLock;
453 ::ll::TypedStorage<4, 4, ::FileArchiver::State> mCurrentState;
454 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager>> mFilePathManager;
455 ::ll::TypedStorage<8, 64, ::std::function<void(::std::string const&)>> mDisplayMessageCallback;
456 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IResourcePackRepository>> mResourcePackRepository;
457 ::ll::TypedStorage<8, 8, ::ILevelListCache&> mLevelListCache;
458 ::ll::TypedStorage<8, 8, ::LevelStorageSource&> mLevelStorageSource;
459 ::ll::TypedStorage<8, 24, ::std::vector<::Core::PathBuffer<::std::string>>> mSuccessfullyFiledArchives;
460 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mIOTaskGroup;
461 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::FileArchiver::IWorldConverter>> mWorldConverter;
462 ::ll::TypedStorage<1, 1, bool> mIsEditorModeEnabled;
463 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const>> mKeyProvider;
464 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::LevelDbEnv>> mLevelDbEnv;
465 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::FileArchiver::EduCloudImportInfo>>
466 mEduCloudImportInfo;
467 // NOLINTEND
468
469public:
470 // prevent constructor by default
471 FileArchiver& operator=(FileArchiver const&);
472 FileArchiver(FileArchiver const&);
473 FileArchiver();
474
475public:
476 // virtual functions
477 // NOLINTBEGIN
478 virtual ~FileArchiver() /*override*/;
479
480 virtual ::std::shared_ptr<::FilePickerSettings>
481 generateFilePickerSettings(::std::vector<::FileArchiver::ExportType> const& types, ::std::string const&) const;
482 // NOLINTEND
483
484public:
485 // member functions
486 // NOLINTBEGIN
487 MCAPI FileArchiver(
488 ::Scheduler& scheduler,
489 ::ILevelListCache& levelListCache,
490 ::LevelStorageSource& levelStorageSource,
491 ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager> const& pathManager,
492 ::Bedrock::NotNullNonOwnerPtr<::IResourcePackRepository> const& resourcePackRepository,
493 bool isEditorModeEnabled,
494 ::std::unique_ptr<::FileArchiver::IWorldConverter> worldConverter,
495 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> keyProvider,
496 ::Bedrock::NotNullNonOwnerPtr<::LevelDbEnv> levelDbEnv,
497 ::std::function<void(::std::string const&)> displayMessageFunction
498 );
499
500 MCAPI void _clearArchiverState();
501
502 MCAPI void
503 _copyPackToTemp(::PackInstance const& packInstance, ::Core::Path const& tempPath, ::FileArchiver::Result& result);
504
505 MCAPI ::Bedrock::Threading::Async<::FileArchiver::Result> _enqueueExportWorldTasks(
506 ::Core::Path const& outputFilePath,
507 ::std::string const& worldId,
508 bool isBundle,
509 ::FileArchiver::ExportType exportType,
510 ::FileArchiver::ShowToast showToast,
512 ::gsl::not_null<::std::shared_ptr<::FileArchiver::InterventionPublishers>> interventionPublishers,
513 ::std::function<void(::FileArchiver::Result&)> cleanupTask,
514 ::std::optional<::FileArchiver::WorldConverterExportSettings> exportSetting
515 );
516
517 MCAPI void _exportLevelFiles(
518 ::Core::Path const& outputFilePath,
519 bool isBundle,
520 ::std::shared_ptr<::FileArchiver::ExportData> exportData
521 );
522
523#ifdef LL_PLAT_C
524 MCAPI bool _importLegacyWorld(::Core::Path const& archivedWorldFile, ::FileArchiver::Result& currentResult);
525
526 MCAPI bool _importWorld(
527 ::Core::Path const& archivedWorldFile,
528 ::FileArchiver::Result& currentResult,
529 ::std::string const& importLevelId
530 );
531#endif
532
533 MCAPI void _printLevelResultMessage(::FileArchiver::Result const& result);
534
535 MCAPI void _printLevelStartMessage();
536
537 MCAPI void _printMessage(::std::string const& message);
538
539 MCAPI ::FileArchiverOutcome
540 _processWorldForTemplate(::std::shared_ptr<::FileArchiver::ExportData> const& exportData);
541
542 MCAPI void _revertPremiumUpgradePacks(::Core::Path const& filePath);
543
544#ifdef LL_PLAT_C
545 MCAPI void _sanitizeWorld(::Core::Path const& newWorldPath);
546#endif
547
548 MCAPI ::FileArchiver::Result _tryBeginExportLevel(
549 ::std::string const& levelId,
550 ::Core::Path const& exportFilePath,
551 ::FileArchiver::ShowToast showToast
552 );
553
554 MCAPI bool _validatePremiumUpgradePacks(::Core::Path const& filePath);
555
556 MCAPI ::std::string copyLevel(::std::string const& worldId);
557
558#ifdef LL_PLAT_C
559 MCAPI ::Bedrock::Threading::Async<::FileArchiver::CopyWorldResult> copyLevelAsync(::std::string const& worldId);
560
561 MCAPI void eraseEduCloudImportInfo(::std::string const& worldId);
562#endif
563
564 MCAPI ::Bedrock::Threading::Async<::FileArchiver::Result> exportCurrentEditorLevel(
565 ::Level* level,
566 ::Core::Path const& exportFilePath,
567 ::gsl::not_null<::std::shared_ptr<::FileArchiver::InterventionPublishers>> interventionPublishers,
568 ::std::optional<::FileArchiver::WorldConverterExportSettings> exportSetting,
569 ::FileArchiver::ExportType exportType,
570 ::FileArchiver::ShowToast toast
571 );
572
573 MCAPI ::Bedrock::Threading::Async<::FileArchiver::Result> exportCurrentLevel(
574 ::Level* level,
575 bool isBundle,
576 ::FileArchiver::ExportType exportType,
577 ::Core::Path const& exportFilePath,
578 ::gsl::not_null<::std::shared_ptr<::FileArchiver::InterventionPublishers>> interventionPublishers
579 );
580
581 MCAPI void exportCurrentLevel(
582 ::Level* level,
583 bool isBundle,
584 ::FileArchiver::ExportType exportType,
585 ::Core::Path const& exportFilePath,
586 ::std::function<void(::FileArchiver::Result&)> exportCallback,
587 ::gsl::not_null<::std::shared_ptr<::FileArchiver::InterventionPublishers>> interventionPublishers
588 );
589
590#ifdef LL_PLAT_C
591 MCAPI ::Bedrock::Threading::Async<::FileArchiver::Result> exportLevel(
592 ::std::string const& worldId,
593 bool isBundle,
594 ::FileArchiver::ExportType exportType,
595 ::FileArchiver::ShowToast showToast,
596 ::Core::Path const& exportFilePath,
597 ::gsl::not_null<::std::shared_ptr<::FileArchiver::InterventionPublishers>> interventionPublishers
598 );
599
600 MCAPI void exportLevel(
601 ::std::string const& worldId,
602 bool isBundle,
603 ::FileArchiver::ExportType exportType,
604 ::Core::Path const& exportFilePath,
605 ::std::function<void(::FileArchiver::Result&)> exportCallback,
606 ::FileArchiver::ShowToast showToast,
607 ::gsl::not_null<::std::shared_ptr<::FileArchiver::InterventionPublishers>> interventionPublishers
608 );
609#endif
610
611 MCAPI ::Bedrock::Threading::Async<::FileArchiver::Result>
612 exportPack(::Core::Path const& path, ::Core::Path const& exportFilePath);
613
614 MCAPI void exportPack(
615 ::Core::Path const& path,
616 ::Core::Path const& exportFilePath,
617 ::std::function<void(::FileArchiver::Result&)> exportCallback
618 );
619
620 MCAPI ::FileArchiver::State getCurrentState();
621
622#ifdef LL_PLAT_C
623 MCAPI ::Bedrock::NotNullNonOwnerPtr<::FileArchiver::ProgressReporter> getProgressReporter();
624
625 MCAPI ::Bedrock::Threading::Async<::FileArchiver::Result> importLevel(
626 ::Core::Path const& archivedWorldFile,
627 bool suppressStartMessage,
628 bool suppressEndMessage,
629 ::std::string const& levelId
630 );
631
632 MCAPI void importLevel(
633 ::Core::Path const& archivedWorldFile,
634 ::std::function<void(::FileArchiver::Result&)> importCallback,
635 bool suppressStartMessage,
636 bool suppressEndMessage,
637 ::std::string const& levelId
638 );
639
640 MCAPI ::Bedrock::Threading::Async<::FileArchiver::ImportWorldsResult>
641 importLevels(::std::vector<::Core::PathBuffer<::std::string>> const& archivedWorldFiles);
642
643 MCAPI void setEduCloudImportInfo(
644 ::std::string const& worldId,
645 ::std::string const& cTag,
646 ::std::string const& name,
647 ::std::string const& oid,
648 bool allowMultiplayer
649 );
650#endif
651 // NOLINTEND
652
653public:
654 // static functions
655 // NOLINTBEGIN
656#ifdef LL_PLAT_C
657 MCAPI static ::std::error_code make_error_code(::FileArchiverOutcome error);
658#endif
659 // NOLINTEND
660
661public:
662 // static variables
663 // NOLINTBEGIN
664 MCAPI static ::std::string const& EXTENSION_ADDON();
665
666 MCAPI static ::std::string const& EXTENSION_PROJECT();
667
668 MCAPI static ::std::string const& EXTENSION_RESOURCEPACK();
669
670 MCAPI static ::std::string const& EXTENSION_TEMPLATE();
671
672 MCAPI static ::std::string const& EXTENSION_VANILLA();
673
674 MCAPI static ::std::string const& IMPORT_LOCK_FILE();
675 // NOLINTEND
676
677public:
678 // constructor thunks
679 // NOLINTBEGIN
680 MCAPI void* $ctor(
681 ::Scheduler& scheduler,
682 ::ILevelListCache& levelListCache,
683 ::LevelStorageSource& levelStorageSource,
684 ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager> const& pathManager,
685 ::Bedrock::NotNullNonOwnerPtr<::IResourcePackRepository> const& resourcePackRepository,
686 bool isEditorModeEnabled,
687 ::std::unique_ptr<::FileArchiver::IWorldConverter> worldConverter,
688 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> keyProvider,
689 ::Bedrock::NotNullNonOwnerPtr<::LevelDbEnv> levelDbEnv,
690 ::std::function<void(::std::string const&)> displayMessageFunction
691 );
692 // NOLINTEND
693
694public:
695 // destructor thunk
696 // NOLINTBEGIN
697 MCAPI void $dtor();
698 // NOLINTEND
699
700public:
701 // virtual function thunks
702 // NOLINTBEGIN
703 MCAPI ::std::shared_ptr<::FilePickerSettings>
704 $generateFilePickerSettings(::std::vector<::FileArchiver::ExportType> const& types, ::std::string const&) const;
705
706
707 // NOLINTEND
708
709public:
710 // vftables
711 // NOLINTBEGIN
712 MCNAPI static void** $vftable();
713 // NOLINTEND
714};
Definition EnableNonOwnerReferences.h:7
Definition Publisher.h:8
Definition Async.h:8
Definition BasicStackString.h:8
Definition FilePathManager.h:18
Definition PathBuffer.h:8
Definition Path.h:12
Definition ZipProgress.h:7
Definition FileArchiver.h:324
Definition FileArchiver.h:203
static MCAPI void ** $vftableForZipProgress()
static MCAPI void ** $vftableForEnableNonOwnerReferences()
static MCAPI void ** $vftable()
Definition FilePickerSettings.h:5
Definition IContentKeyProvider.h:13
Definition ILevelListCache.h:27
Definition IResourcePackRepository.h:34
Definition LevelData.h:55
Definition LevelDbEnv.h:8
Definition LevelStorageSource.h:25
Definition LevelStorage.h:26
Definition Level.h:255
Definition PackInstance.h:28
Definition Scheduler.h:15
Definition TaskGroup.h:55
Definition FileArchiver.h:71
Definition FileArchiver.h:115
Definition FileArchiver.h:303
Definition FileArchiver.h:162
Definition FileArchiver.h:354
Definition FileArchiver.h:267
Definition FileArchiver.h:316