LeviLamina
Loading...
Searching...
No Matches
ExternalFileLevelStorageSource.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/NonOwnerPointer.h"
8#include "mc/deps/core/utility/UniqueOwnerPointer.h"
9#include "mc/platform/Result.h"
10#include "mc/world/level/storage/LevelStorageSource.h"
11
12// auto generated forward declare list
13// clang-format off
14class ContentIdentity;
16class LevelData;
17class LevelDbEnv;
19class LevelStorage;
22class Scheduler;
23namespace Core { class FilePathManager; }
24namespace Core { class Path; }
25// clang-format on
26
28public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::SaveTransactionManager>> mSaveTransactionManager;
32 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager>> mFilePathManager;
33 // NOLINTEND
34
35#ifdef LL_PLAT_S
36public:
37 // prevent constructor by default
39
40#else // LL_PLAT_C
41#endif
42public:
43 // virtual functions
44 // NOLINTBEGIN
45 virtual ~ExternalFileLevelStorageSource() /*override*/;
46
47 virtual ::std::string const& getName() const /*override*/;
48
49 virtual ::Bedrock::UniqueOwnerPointer<::LevelStorage> createLevelStorage(
50 ::Scheduler& scheduler,
51 ::std::string const& levelId,
52 ::ContentIdentity const& contentIdentity,
53 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> const& keyProvider,
54 ::std::chrono::nanoseconds const& writeFlushInterval,
55 ::Bedrock::NotNullNonOwnerPtr<::LevelDbEnv> levelDbEnv,
56 ::std::unique_ptr<::LevelStorageEventing> levelStorageEventing
57 ) /*override*/;
58
59 virtual ::std::unique_ptr<::LevelLooseFileStorage> createLevelLooseStorage(
60 ::std::string const& levelId,
61 ::ContentIdentity const& contentIdentity,
62 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> const& keyProvider
63 ) /*override*/;
64
65 virtual ::Bedrock::Result<bool> getLevelData(::std::string const& levelId, ::LevelData& levelDataOut) const
66 /*override*/;
67
68 virtual void saveLevelData(::std::string const& levelId, ::LevelData const& data) /*override*/;
69
70 virtual void getLevelList(::std::vector<::Core::PathBuffer<::std::string>>& paths) /*override*/;
71
72 virtual void deleteLevel(::std::string const& levelId) /*override*/;
73
74 virtual bool renameLevel(::std::string const& levelId, ::std::string const& newLevelName) /*override*/;
75
76 virtual void
77 renameLevel(::LevelData& levelData, ::Core::Path const& fullPath, ::std::string const& newLevelName) /*override*/;
78
79 virtual bool createBackupCopyOfWorld(
80 ::std::string const& levelId,
81 ::std::string const& newLeveId,
82 ::std::string const& newName
83 ) /*override*/;
84
85 virtual bool isLevelMarkedForSync(::Core::Path const& levelPath) const /*override*/;
86
87 virtual bool isLevelPartiallyCopied(::Core::Path const& levelPath) const /*override*/;
88
89 virtual ::Core::PathBuffer<::std::string> getLevelDatFoundPath(::Core::Path const& levelPath) const /*override*/;
90
91 virtual ::Core::PathBuffer<::std::string> const getBasePath() const /*override*/;
92
93 virtual ::Core::PathBuffer<::std::string> const getPathToLevel(::std::string const& levelId) const /*override*/;
94
95 virtual ::Core::PathBuffer<::std::string> const getPathToLevelInfo(::std::string const& levelId, bool) const
96 /*override*/;
97
98 virtual ::std::string getLevelIdFromPath(::Core::Path const& fullPath, ::Core::Path const& worldsPath) const
99 /*override*/;
100
101 virtual bool isBetaRetailLevel(::std::string const&) const /*override*/;
102 // NOLINTEND
103
104public:
105 // member functions
106 // NOLINTBEGIN
107#ifdef LL_PLAT_S
109 ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager> const& pathManager,
110 ::Bedrock::NotNullNonOwnerPtr<::SaveTransactionManager> const& saveTransactionManager
111 );
112#endif
113 // NOLINTEND
114
115public:
116 // constructor thunks
117 // NOLINTBEGIN
118#ifdef LL_PLAT_S
119 MCAPI void* $ctor(
120 ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager> const& pathManager,
121 ::Bedrock::NotNullNonOwnerPtr<::SaveTransactionManager> const& saveTransactionManager
122 );
123#endif
124 // NOLINTEND
125
126public:
127 // destructor thunk
128 // NOLINTBEGIN
129 MCAPI void $dtor();
130 // NOLINTEND
131
132public:
133 // virtual function thunks
134 // NOLINTBEGIN
135 MCAPI ::std::string const& $getName() const;
136
137 MCAPI ::Bedrock::UniqueOwnerPointer<::LevelStorage> $createLevelStorage(
138 ::Scheduler& scheduler,
139 ::std::string const& levelId,
140 ::ContentIdentity const& contentIdentity,
141 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> const& keyProvider,
142 ::std::chrono::nanoseconds const& writeFlushInterval,
143 ::Bedrock::NotNullNonOwnerPtr<::LevelDbEnv> levelDbEnv,
144 ::std::unique_ptr<::LevelStorageEventing> levelStorageEventing
145 );
146
147 MCAPI ::std::unique_ptr<::LevelLooseFileStorage> $createLevelLooseStorage(
148 ::std::string const& levelId,
149 ::ContentIdentity const& contentIdentity,
150 ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> const& keyProvider
151 );
152
153 MCAPI ::Bedrock::Result<bool> $getLevelData(::std::string const& levelId, ::LevelData& levelDataOut) const;
154
155 MCAPI void $saveLevelData(::std::string const& levelId, ::LevelData const& data);
156
157 MCAPI void $getLevelList(::std::vector<::Core::PathBuffer<::std::string>>& paths);
158
159 MCAPI void $deleteLevel(::std::string const& levelId);
160
161 MCAPI bool $renameLevel(::std::string const& levelId, ::std::string const& newLevelName);
162
163 MCAPI void $renameLevel(::LevelData& levelData, ::Core::Path const& fullPath, ::std::string const& newLevelName);
164
165 MCAPI bool $createBackupCopyOfWorld(
166 ::std::string const& levelId,
167 ::std::string const& newLeveId,
168 ::std::string const& newName
169 );
170
171 MCAPI bool $isLevelMarkedForSync(::Core::Path const& levelPath) const;
172
173 MCAPI bool $isLevelPartiallyCopied(::Core::Path const& levelPath) const;
174
175 MCAPI ::Core::PathBuffer<::std::string> $getLevelDatFoundPath(::Core::Path const& levelPath) const;
176
177 MCAPI ::Core::PathBuffer<::std::string> const $getBasePath() const;
178
179 MCAPI ::Core::PathBuffer<::std::string> const $getPathToLevel(::std::string const& levelId) const;
180
181 MCFOLD ::Core::PathBuffer<::std::string> const $getPathToLevelInfo(::std::string const& levelId, bool) const;
182
183 MCAPI ::std::string $getLevelIdFromPath(::Core::Path const& fullPath, ::Core::Path const& worldsPath) const;
184
185 MCFOLD bool $isBetaRetailLevel(::std::string const&) const;
186
187
188 // NOLINTEND
189
190public:
191 // vftables
192 // NOLINTBEGIN
193 MCNAPI static void** $vftable();
194 // NOLINTEND
195};
Definition ContentIdentity.h:8
Definition FilePathManager.h:18
Definition PathBuffer.h:8
Definition Path.h:17
Definition ExternalFileLevelStorageSource.h:27
static MCAPI void ** $vftable()
Definition IContentKeyProvider.h:13
Definition LevelData.h:52
Definition LevelDbEnv.h:8
Definition LevelLooseFileStorage.h:15
Definition LevelStorageEventing.h:15
Definition LevelStorageSource.h:25
MCAPI void $dtor()
Definition LevelStorage.h:25
Definition SaveTransactionManager.h:14
Definition Scheduler.h:14