52 enum class ExportType :
int {
56 PlayableEditorLevel = 3,
58 PackagedLevelOnly = 5,
61 enum class ShowToast :
int {
66 enum class State :
int {
72 struct CopyWorldResult {
76 ::ll::TypedStorage<4, 4, ::FileArchiverOutcome> outcome;
77 ::ll::TypedStorage<8, 32, ::std::string> copiedLevelId;
78 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> copiedLevelPath;
85 CopyWorldResult& operator=(CopyWorldResult
const&);
95 MCAPI ~CopyWorldResult();
120 ::ll::TypedStorage<1, 1, bool> isCloudImport;
121 ::ll::TypedStorage<1, 1, bool> allowMultiplayer;
122 ::ll::TypedStorage<8, 32, ::std::string> educationOid;
123 ::ll::TypedStorage<8, 32, ::std::string> cTag;
124 ::ll::TypedStorage<8, 32, ::std::string> name;
140 ::ll::TypedStorage<4, 4, ::FileArchiverOutcome> outcome;
141 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> path;
148 ::ll::TypedStorage<4, 4, ::FileArchiverOutcome> outcome;
149 ::ll::TypedStorage<8, 24, ::std::vector<::FileArchiver::ImportWorldsResult::ImportWorldResult>> worlds;
157 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mProgressLock;
158 ::ll::TypedStorage<8, 32, ::std::string> mProgressTitle;
159 ::ll::TypedStorage<8, 32, ::std::string> mProgressMessage;
167 virtual void clear() ;
174 MCAPI ::std::string getProgressMessage();
176 MCAPI ::std::string getProgressTitle();
179 MCAPI
void setProgressMessage(::std::string
const& message);
195 ::ll::TypedStorage<4, 4, ::FileArchiverOutcome> outcome;
196 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> fileName;
197 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> levelId;
198 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> originalLevelId;
203 Result& operator=(Result
const&);
231 ::ll::TypedStorage<4, 4, ::FileArchiver::ExportType> mExportType;
232 ::ll::TypedStorage<8, 32, ::std::string> mLevelId;
233 ::ll::TypedStorage<8, 8, uint64> mTotalFileCount;
234 ::ll::TypedStorage<8, 104, ::FileArchiver::Result> mResult;
235 ::ll::TypedStorage<8, 16, ::Bedrock::UniqueOwnerPointer<::LevelStorage>> mLevelStorage;
236 ::ll::TypedStorage<8, 8, ::LevelData*> mLevelData;
237 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::LevelData>> mOwnedLevelData;
238 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mWorldPath;
246 ::ll::TypedStorage<1, 2, ::std::optional<bool>> mKeepPlayerData;
256 virtual void enqueueConvertImportingWorldTasks(
257 ::std::shared_ptr<::FileArchiver::Result>& sharedResult,
258 ::Bedrock::NotNullNonOwnerPtr<::FileArchiver::ProgressReporter> progress,
262 virtual bool shouldCopyWorldForConversion(::std::string
const& levelId)
const = 0;
264 virtual void enqueueConvertExportingWorldTasks(
265 ::std::shared_ptr<::FileArchiver::ExportData>& exportData,
266 ::Bedrock::NotNullNonOwnerPtr<::FileArchiver::ProgressReporter> progress,
268 ::gsl::not_null<::std::shared_ptr<::FileArchiver::InterventionPublishers>> interventionPublishers,
269 ::std::optional<::FileArchiver::WorldConverterExportSettings>
const exportSetting
274 struct InterventionPublishers {
277 using BeginSignature = void(::FileArchiver::ExportType, ::std::string
const&,
::Core::Path const&);
279 using CleanupSignature = void(::FileArchiver::ExportType);
281 using CopyCompleteSignature =
284 using LevelDataFinalizeSignature = void(::FileArchiver::ExportType,
::LevelData&);
286 using LevelDataMutationSignature = void(::FileArchiver::ExportType,
::LevelData&);
288 using PreFileRemovalSignature =
291 using PrePackageSignature =
301 void(::FileArchiver::ExportType, ::std::string
const&,
::Core::Path const&),
356 MCAPI InterventionPublishers();
371 ::ll::TypedStorage<8, 192, ::FileArchiver::ProgressReporter> mProgress;
372 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mStateLock;
373 ::ll::TypedStorage<4, 4, ::FileArchiver::State> mCurrentState;
374 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager>> mFilePathManager;
375 ::ll::TypedStorage<8, 64, ::std::function<void(::std::string
const&)>> mDisplayMessageCallback;
376 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IResourcePackRepository>> mResourcePackRepository;
377 ::ll::TypedStorage<8, 8, ::ILevelListCache&> mLevelListCache;
378 ::ll::TypedStorage<8, 8, ::LevelStorageSource&> mLevelStorageSource;
379 ::ll::TypedStorage<8, 24, ::std::vector<::Core::PathBuffer<::std::string>>> mSuccessfullyFiledArchives;
380 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mIOTaskGroup;
381 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::FileArchiver::IWorldConverter>> mWorldConverter;
382 ::ll::TypedStorage<1, 1, bool> mIsEditorModeEnabled;
383 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const>> mKeyProvider;
384 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::LevelDbEnv>> mLevelDbEnv;
385 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::FileArchiver::EduCloudImportInfo>>
391 FileArchiver& operator=(FileArchiver
const&);
392 FileArchiver(FileArchiver
const&);
398 virtual ~FileArchiver() ;
400 virtual ::std::shared_ptr<::FilePickerSettings>
401 generateFilePickerSettings(::std::vector<::FileArchiver::ExportType>
const& types, ::std::string
const&)
const;
411 ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager>
const& pathManager,
412 ::Bedrock::NotNullNonOwnerPtr<::IResourcePackRepository>
const& resourcePackRepository,
413 bool isEditorModeEnabled,
414 ::std::unique_ptr<::FileArchiver::IWorldConverter> worldConverter,
415 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> keyProvider,
416 ::Bedrock::NotNullNonOwnerPtr<::LevelDbEnv> levelDbEnv,
417 ::std::function<
void(::std::string
const&)> displayMessageFunction
420 MCAPI
void _clearArchiverState();
425 MCAPI ::Bedrock::Threading::Async<::FileArchiver::Result> _enqueueExportWorldTasks(
427 ::std::string
const& worldId,
429 ::FileArchiver::ExportType exportType,
430 ::FileArchiver::ShowToast
const showToast,
432 ::gsl::not_null<::std::shared_ptr<::FileArchiver::InterventionPublishers>> interventionPublishers,
434 ::std::optional<::FileArchiver::WorldConverterExportSettings>
const exportSetting,
439 MCAPI
bool _importWorld(
442 ::std::string
const& importLevelId
449 MCAPI
void _printLevelStartMessage();
452 MCAPI
void _printMessage(::std::string
const& message);
454 MCAPI
void _revertPremiumUpgradePacks(
::Core::Path const& filePath);
457 MCAPI
void _sanitizeWorld(
::Core::Path const& newWorldPath);
460 MCAPI ::FileArchiver::Result _tryBeginExportLevel(
461 ::std::string
const& levelId,
463 ::FileArchiver::ShowToast
const showToast
466 MCAPI
bool _validatePremiumUpgradePacks(
::Core::Path const& filePath);
469 MCAPI ::std::string copyLevel(::std::string
const& worldId,
::Core::Path const& targetFolder);
471 MCAPI ::Bedrock::Threading::Async<::FileArchiver::CopyWorldResult> copyLevelAsync(::std::string
const& worldId);
474 MCAPI ::Bedrock::Threading::Async<::FileArchiver::Result> exportCurrentEditorLevel(
477 ::gsl::not_null<::std::shared_ptr<::FileArchiver::InterventionPublishers>> interventionPublishers,
478 ::std::optional<::FileArchiver::WorldConverterExportSettings> exportSetting,
479 ::FileArchiver::ExportType exportType,
480 ::FileArchiver::ShowToast toast
483 MCAPI
void exportCurrentLevel(
486 ::FileArchiver::ExportType exportType,
489 ::gsl::not_null<::std::shared_ptr<::FileArchiver::InterventionPublishers>> interventionPublishers
493 MCAPI
void exportLevel(
494 ::std::string
const& worldId,
496 ::FileArchiver::ExportType exportType,
499 ::FileArchiver::ShowToast showToast,
500 ::gsl::not_null<::std::shared_ptr<::FileArchiver::InterventionPublishers>> interventionPublishers
504 MCAPI
void exportPack(
511 MCAPI ::Bedrock::Threading::Async<::FileArchiver::Result> importLevel(
513 bool suppressStartMessage,
514 bool suppressEndMessage,
515 ::std::string
const& levelId
518 MCAPI
void importLevel(
521 bool suppressStartMessage,
522 bool suppressEndMessage,
523 ::std::string
const& levelId
526 MCAPI
void setEduCloudImportInfo(
527 ::std::string
const& worldId,
528 ::std::string
const& cTag,
529 ::std::string
const& name,
530 ::std::string
const& oid,
531 bool allowMultiplayer
540 MCAPI static ::std::string
const& EXTENSION_ADDON();
543 MCAPI static ::std::string
const& EXTENSION_PROJECT();
545 MCAPI static ::std::string
const& EXTENSION_RESOURCEPACK();
547 MCAPI static ::std::string
const& EXTENSION_TEMPLATE();
549 MCAPI static ::std::string
const& EXTENSION_VANILLA();
551 MCAPI static ::std::string
const& IMPORT_LOCK_FILE();
561 ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager>
const& pathManager,
562 ::Bedrock::NotNullNonOwnerPtr<::IResourcePackRepository>
const& resourcePackRepository,
563 bool isEditorModeEnabled,
564 ::std::unique_ptr<::FileArchiver::IWorldConverter> worldConverter,
565 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> keyProvider,
566 ::Bedrock::NotNullNonOwnerPtr<::LevelDbEnv> levelDbEnv,
567 ::std::function<
void(::std::string
const&)> displayMessageFunction
580 MCAPI ::std::shared_ptr<::FilePickerSettings>
581 $generateFilePickerSettings(::std::vector<::FileArchiver::ExportType>
const& types, ::std::string
const&)
const;
Definition IContentKeyProvider.h:13