LeviLamina
Loading...
Searching...
No Matches
ILevelListCache.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/utility/EnableNonOwnerReferences.h"
8#include "mc/deps/core/utility/NonOwnerPointer.h"
9#include "mc/deps/core/utility/UniqueOwnerPointer.h"
10
11// auto generated forward declare list
12// clang-format off
13class ContentIdentity;
15class LevelData;
16class LevelDbEnv;
19class LevelStorage;
22class Scheduler;
23struct LevelSummary;
24namespace Core { class Path; }
25// clang-format on
26
28public:
29 // virtual functions
30 // NOLINTBEGIN
31 virtual ~ILevelListCache() /*override*/;
32
33 virtual void addLevel(::std::string const& levelId, ::LevelData&& levelData) = 0;
34
35 virtual void deleteLevel(::std::string const& levelId) = 0;
36
37 virtual void refreshLevel(::std::string const& levelId) = 0;
38
39 virtual void deleteLevelFiles(::std::string const& levelId) = 0;
40
41 virtual void postDeleteLevel(::std::string const& levelId) = 0;
42
43 virtual void renameLevel(::std::string const& levelId, ::std::string const& newLevelName) = 0;
44
45 virtual void renameAndSaveLevelData(
46 ::std::string const& levelId,
47 ::std::string const& newLevelName,
48 ::LevelData const& levelData
49 ) = 0;
50
51 virtual void saveLevelData(::std::string const& levelId, ::LevelData const& levelData) = 0;
52
53 virtual void createBackupCopyOfWorld(
54 ::std::string const& levelId,
55 ::std::string const& newLevelId,
56 ::std::string const& newName
57 ) = 0;
58
59 virtual bool hasLevelWithId(::std::string const& levelId) = 0;
60
61 virtual ::std::string getLevelIdFromPath(::Core::Path const& fullPath, ::Core::Path const& worldsPath) = 0;
62
63 virtual bool checkIfLevelIsCorruptOrMissing(::std::string const& levelId) = 0;
64
65 virtual void addObserver(::LevelListCacheObserver& observer) = 0;
66
67 virtual void removeObserver(::LevelListCacheObserver& observer) = 0;
68
69 virtual ::Bedrock::UniqueOwnerPointer<::LevelStorage> createLevelStorage(
70 ::Scheduler& scheduler,
71 ::std::string const& levelId,
72 ::ContentIdentity const& contentIdentity,
73 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> const& keyProvider,
74 ::std::chrono::nanoseconds const& writeFlushInterval,
75 ::Bedrock::NotNullNonOwnerPtr<::LevelDbEnv> levelDbEnv,
76 ::std::unique_ptr<::LevelStorageEventing> levelStorageEventing
77 ) = 0;
78
79 virtual ::std::unique_ptr<::LevelLooseFileStorage> createLevelLooseStorage(
80 ::std::string const& levelId,
81 ::ContentIdentity const& contentIdentity,
82 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> const& keyProvider
83 ) = 0;
84
85 virtual ::LevelSummary* getLevelSummary(::std::string const& levelId) = 0;
86
87 virtual ::LevelSummary const* getLevelSummaryByName(::std::string const& levelName) = 0;
88
89 virtual ::LevelSummary* getOrCreateLevelSummary(::Core::Path const& directory) = 0;
90
91 virtual ::LevelData* getLevelData(::std::string const& levelId) = 0;
92
93 virtual ::Bedrock::NonOwnerPointer<::LevelData> getLevelDataNonOwnerPointer(::std::string const& levelId) = 0;
94
95 virtual ::LevelSummary* getShallowLevelSummary(::std::string const& levelId) = 0;
96
97 virtual void getLevelList(
98 ::std::vector<::LevelSummary>& dest,
99 bool includeShallowSummaries,
100 bool includePartiallyCopiedLevels,
101 bool includeBetaRetailLevels,
102 bool includeInvalidLevelDataLevels
103 ) = 0;
104
105 virtual bool hasCachedLevels(bool includeShallowSummaries) const = 0;
106
107 virtual void updateLevelCache(::std::string const& levelId) = 0;
108
109 virtual ::std::unique_ptr<::LevelStorageObserver> createLevelStorageObserver() = 0;
110
111 virtual void onSave(::std::string const& levelId) = 0;
112
113 virtual void onStorageChanged() = 0;
114
115 virtual ::Core::PathBuffer<::std::string> const getBasePath() const = 0;
116 // NOLINTEND
117
118public:
119 // destructor thunk
120 // NOLINTBEGIN
121 MCNAPI void $dtor();
122 // NOLINTEND
123
124public:
125 // virtual function thunks
126 // NOLINTBEGIN
127
128 // NOLINTEND
129
130public:
131 // vftables
132 // NOLINTBEGIN
133 MCNAPI static void** $vftable();
134 // NOLINTEND
135};
Definition EnableNonOwnerReferences.h:7
Definition ContentIdentity.h:8
Definition Path.h:17
Definition IContentKeyProvider.h:13
Definition ILevelListCache.h:27
static MCAPI void ** $vftable()
MCAPI void $dtor()
Definition LevelData.h:52
Definition LevelDbEnv.h:8
Definition LevelListCacheObserver.h:13
Definition LevelLooseFileStorage.h:15
Definition LevelStorageEventing.h:15
Definition LevelStorageObserver.h:5
Definition LevelStorage.h:25
Definition Scheduler.h:14
Definition LevelSummary.h:30