50 enum class ExportType :
int {
54 PlayableEditorLevel = 3,
58 enum class ShowToast :
int {
63 enum class State :
int {
73 ::ll::TypedStorage<4, 4, ::FileArchiverOutcome> outcome;
74 ::ll::TypedStorage<8, 32, ::std::string> copiedLevelId;
75 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> copiedLevelPath;
87 MCFOLD_C
void $dtor();
95 ::ll::TypedStorage<1, 1, bool> isCloudImport;
96 ::ll::TypedStorage<1, 1, bool> allowMultiplayer;
97 ::ll::TypedStorage<8, 32, ::std::string> educationOid;
98 ::ll::TypedStorage<8, 32, ::std::string> cTag;
99 ::ll::TypedStorage<8, 32, ::std::string> name;
127 ::ll::TypedStorage<4, 4, ::FileArchiverOutcome> outcome;
128 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> path;
135 ::ll::TypedStorage<4, 4, ::FileArchiverOutcome> outcome;
136 ::ll::TypedStorage<8, 24, ::std::vector<::FileArchiver::ImportWorldsResult::ImportWorldResult>> worlds;
144 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mProgressLock;
145 ::ll::TypedStorage<8, 32, ::std::string> mProgressTitle;
146 ::ll::TypedStorage<8, 32, ::std::string> mProgressMessage;
154 virtual void clear() ;
184 ::ll::TypedStorage<4, 4, ::FileArchiverOutcome> outcome;
185 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> fileName;
186 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> levelId;
187 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> originalLevelId;
207 ::ll::TypedStorage<4, 4, ::FileArchiver::ExportType> mExportType;
208 ::ll::TypedStorage<8, 32, ::std::string> mLevelId;
209 ::ll::TypedStorage<8, 8, uint64> mTotalFileCount;
210 ::ll::TypedStorage<8, 104, ::FileArchiver::Result> mResult;
211 ::ll::TypedStorage<8, 16, ::Bedrock::UniqueOwnerPointer<::LevelStorage>> mLevelStorage;
212 ::ll::TypedStorage<8, 8, ::LevelData*> mLevelData;
234 virtual void enqueueConvertImportingWorldTasks(
235 ::std::shared_ptr<::FileArchiver::Result>&,
236 ::Bedrock::NotNullNonOwnerPtr<::FileArchiver::ProgressReporter>,
240 virtual bool shouldCopyWorldForConversion(::std::string
const&)
const = 0;
242 virtual void enqueueConvertExportingWorldTasks(
243 ::std::shared_ptr<::FileArchiver::ExportData>&,
244 ::Bedrock::NotNullNonOwnerPtr<::FileArchiver::ProgressReporter>,
246 ::gsl::not_null<::std::shared_ptr<::FileArchiver::InterventionPublishers>>
257 struct InterventionPublishers {
260 using BeginSignature = void(::FileArchiver::ExportType, ::std::string
const&,
::Core::Path const&);
262 using CleanupSignature = void(::FileArchiver::ExportType);
264 using CopyCompleteSignature =
267 using LevelDataFinalizeSignature = void(::FileArchiver::ExportType,
::LevelData&);
269 using LevelDataMutationSignature = void(::FileArchiver::ExportType,
::LevelData&);
271 using PreFileRemovalSignature =
274 using PrePackageSignature =
284 void(::FileArchiver::ExportType, ::std::string
const&,
::Core::Path const&),
339 MCAPI InterventionPublishers();
354 ::ll::TypedStorage<8, 192, ::FileArchiver::ProgressReporter> mProgress;
355 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mStateLock;
356 ::ll::TypedStorage<4, 4, ::FileArchiver::State> mCurrentState;
357 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager>> mFilePathManager;
358 ::ll::TypedStorage<8, 64, ::std::function<void(::std::string
const&)>> mDisplayMessageCallback;
359 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IResourcePackRepository>> mResourcePackRepository;
360 ::ll::TypedStorage<8, 8, ::ILevelListCache&> mLevelListCache;
361 ::ll::TypedStorage<8, 24, ::std::vector<::Core::PathBuffer<::std::string>>> mSuccessfullyFiledArchives;
362 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mIOTaskGroup;
363 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::FileArchiver::IWorldConverter>> mWorldConverter;
364 ::ll::TypedStorage<1, 1, bool> mIsEditorModeEnabled;
365 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const>> mKeyProvider;
366 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::LevelDbEnv>> mLevelDbEnv;
367 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::FileArchiver::EduCloudImportInfo>>
373 FileArchiver& operator=(FileArchiver
const&);
374 FileArchiver(FileArchiver
const&);
380 virtual ~FileArchiver() ;
382 virtual ::std::shared_ptr<::FilePickerSettings>
383 generateFilePickerSettings(::std::vector<::FileArchiver::ExportType>
const& types, ::std::string
const&)
const;
392 ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager>
const& pathManager,
393 ::Bedrock::NotNullNonOwnerPtr<::IResourcePackRepository>
const& resourcePackRepository,
394 bool isEditorModeEnabled,
395 ::std::unique_ptr<::FileArchiver::IWorldConverter> worldConverter,
396 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> keyProvider,
397 ::Bedrock::NotNullNonOwnerPtr<::LevelDbEnv> levelDbEnv,
398 ::std::function<
void(::std::string
const&)> displayMessageFunction
401 MCAPI
void _clearArchiverState();
406 MCAPI ::Bedrock::Threading::Async<::FileArchiver::Result> _enqueueExportWorldTasks(
408 ::std::string
const& worldId,
410 ::FileArchiver::ExportType exportType,
411 ::FileArchiver::ShowToast showToast,
413 ::gsl::not_null<::std::shared_ptr<::FileArchiver::InterventionPublishers>> interventionPublishers,
417 MCAPI
void _exportLevelFiles(
420 ::std::shared_ptr<::FileArchiver::ExportData> exportData
425 MCAPI_C
bool _importWorld(
428 ::std::string
const& importLevelId
433 MCAPI
void _printLevelStartMessage();
435 MCAPI
void _printMessage(::std::string
const& message);
437 MCAPI ::FileArchiverOutcome
438 _processWorldForTemplate(::std::shared_ptr<::FileArchiver::ExportData>
const& exportData);
440 MCAPI
void _revertPremiumUpgradePacks(
::Core::Path const& filePath);
442 MCAPI_C
void _sanitizeWorld(
::Core::Path const& newWorldPath);
444 MCAPI ::FileArchiver::Result _tryBeginExportLevel(
445 ::std::string
const& levelId,
447 ::FileArchiver::ShowToast showToast
450 MCAPI
bool _validatePremiumUpgradePacks(
::Core::Path const& filePath);
452 MCAPI ::std::string copyLevel(::std::string
const& worldId);
454 MCAPI_C ::Bedrock::Threading::Async<::FileArchiver::CopyWorldResult> copyLevelAsync(::std::string
const& worldId);
456 MCAPI ::Bedrock::Threading::Async<::FileArchiver::Result> exportCurrentEditorLevel(
459 ::gsl::not_null<::std::shared_ptr<::FileArchiver::InterventionPublishers>> interventionPublishers,
460 ::FileArchiver::ExportType exportType,
461 ::FileArchiver::ShowToast toast
464 MCAPI ::Bedrock::Threading::Async<::FileArchiver::Result> exportCurrentLevel(
467 ::FileArchiver::ExportType exportType,
469 ::gsl::not_null<::std::shared_ptr<::FileArchiver::InterventionPublishers>> interventionPublishers
472 MCAPI
void exportCurrentLevel(
475 ::FileArchiver::ExportType exportType,
478 ::gsl::not_null<::std::shared_ptr<::FileArchiver::InterventionPublishers>> interventionPublishers
481 MCAPI_C ::Bedrock::Threading::Async<::FileArchiver::Result> exportLevel(
482 ::std::string
const& worldId,
484 ::FileArchiver::ExportType exportType,
485 ::FileArchiver::ShowToast showToast,
487 ::gsl::not_null<::std::shared_ptr<::FileArchiver::InterventionPublishers>> interventionPublishers
490 MCAPI_C
void exportLevel(
491 ::std::string
const& worldId,
493 ::FileArchiver::ExportType exportType,
496 ::FileArchiver::ShowToast showToast,
497 ::gsl::not_null<::std::shared_ptr<::FileArchiver::InterventionPublishers>> interventionPublishers
500 MCAPI ::Bedrock::Threading::Async<::FileArchiver::Result>
503 MCAPI
void exportPack(
509 MCAPI ::FileArchiver::State getCurrentState();
511 MCAPI ::Bedrock::NotNullNonOwnerPtr<::FileArchiver::ProgressReporter> getProgressReporter();
513 MCAPI_C ::Bedrock::Threading::Async<::FileArchiver::Result> importLevel(
515 bool suppressStartMessage,
516 bool suppressEndMessage,
517 ::std::string
const& levelId
520 MCAPI_C
void importLevel(
523 bool suppressStartMessage,
524 bool suppressEndMessage,
525 ::std::string
const& levelId
528 MCAPI_S
void setWorldConverter(::std::unique_ptr<::FileArchiver::IWorldConverter> worldConverter);
534 MCAPI static ::std::string
const& EXTENSION_ADDON();
536 MCAPI static ::std::string
const& EXTENSION_EDITOR_ADDON();
538 MCAPI static ::std::string
const& EXTENSION_PROJECT();
540 MCAPI static ::std::string
const& EXTENSION_RESOURCEPACK();
542 MCAPI static ::std::string
const& EXTENSION_TEMPLATE();
544 MCAPI static ::std::string
const& EXTENSION_VANILLA();
546 MCAPI static ::std::string
const& IMPORT_LOCK_FILE();
555 ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager>
const& pathManager,
556 ::Bedrock::NotNullNonOwnerPtr<::IResourcePackRepository>
const& resourcePackRepository,
557 bool isEditorModeEnabled,
558 ::std::unique_ptr<::FileArchiver::IWorldConverter> worldConverter,
559 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> keyProvider,
560 ::Bedrock::NotNullNonOwnerPtr<::LevelDbEnv> levelDbEnv,
561 ::std::function<
void(::std::string
const&)> displayMessageFunction
574 MCAPI ::std::shared_ptr<::FilePickerSettings>
575 $generateFilePickerSettings(::std::vector<::FileArchiver::ExportType>
const& types, ::std::string
const&)
const;