3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/file/PathBuffer.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8#include "mc/platform/Result.h"
19namespace Core {
class Path; }
20namespace Core {
class Result; }
23namespace ExternalFileLevelStorage {
26MCNAPI ::Bedrock::Result<void>
27_readLevelDataFromFile(::Core::Path
const& datFilename, ::std::string
const& worldID, ::LevelData& levelData);
29MCNAPI
void copyLevelInfoToDiskCache(::Core::Path
const& levelRootPath,
bool onlyIfNotExisting);
31MCNAPI ::std::unique_ptr<::PackAccessStrategy> getAccessStrategy(
32 ::Core::Path
const& levelDirectory,
33 ::ContentIdentity
const& contentIdentity,
34 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const>
const& keyProvider
37MCNAPI ::std::vector<::std::string>
const getImportantFiles();
39MCNAPI ::std::string getLevelIDFromPath(::Core::Path
const& levelRootPath, ::Core::Path
const& worldsPath);
41MCNAPI
bool isLevelMarkedForSync(::Core::Path
const& directory);
43MCNAPI
void makeReadableLevelnameFile(::Core::Path
const& fullPath, ::std::string
const& name);
45MCNAPI ::Core::Result readLevelDataFromData(::std::string
const& dataStr, ::LevelData& levelData);
47MCNAPI_C ::Bedrock::Result<bool>
48readLevelDataFromFile(::Core::Path
const& directory, ::std::string
const& levelId, ::LevelData& levelData);
50MCNAPI ::Bedrock::Result<bool> readLevelDataFromFile(
51 ::Core::Path
const& directory,
52 ::std::string
const& levelId,
53 ::LevelData& levelData,
54 ::IMinecraftEventing* eventing
57MCNAPI
bool readShallowLevelSummaryFromSyncFile(
58 ::Core::Path
const& directory,
59 ::std::string
const& levelId,
60 ::LevelSummary& summary
63MCNAPI
void saveLevelData(
64 ::Core::Path
const& levelPath,
65 ::std::string
const& levelId,
66 ::LevelData
const& levelData,
71saveLevelDataToPath(::Core::Path
const& fullPath, ::std::string
const& levelId, ::LevelData
const& levelData);
73MCNAPI
void saveLevelDisplayDataToCache(
74 ::std::string
const& levelId,
75 ::LevelData
const& levelData,
76 ::gsl::not_null<::TaskGroup*> taskGroup
79MCNAPI_C
void syncLevelInfoCache(::std::unordered_set<::Core::PathBuffer<::std::string>>
const& levelRootPaths);
81MCNAPI ::Core::Result validateLevelDat(::Core::Path filePath);
86MCNAPI
char const*
const& CLOUD_SYNC_LOCK();
88MCNAPI
char const*
const& FN_CORRUPTED_WORLD_MARKER();
90MCNAPI
char const*
const& FN_LEVEL_DAT();
92MCNAPI ::std::atomic<bool>& writingToCache();
Definition ContentIdentity.h:8
Definition IContentKeyProvider.h:13
Definition IMinecraftEventing.h:137
Definition LevelData.h:50
Definition PackAccessStrategy.h:21
Definition TaskGroup.h:53
Definition LevelSummary.h:30