LeviLamina
Loading...
Searching...
No Matches
FileSystemImpl.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/file/DirectoryIterationFlags.h"
7#include "mc/deps/core/file/FileAccessType.h"
8#include "mc/deps/core/file/FileBufferingMode.h"
9#include "mc/deps/core/file/FileType.h"
10#include "mc/deps/core/file/PathBuffer.h"
11#include "mc/deps/core/file/file_system/CrossStorageCopyMode.h"
12#include "mc/deps/core/file/file_system/TransactionFlags.h"
13#include "mc/platform/brstd/function_ref.h"
14
15// auto generated forward declare list
16// clang-format off
17namespace Core { class FileImpl; }
18namespace Core { class FileOpenMode; }
19namespace Core { class FileStats; }
20namespace Core { class FileStorageArea; }
21namespace Core { class FlatFileManifestTracker; }
22namespace Core { class PathView; }
23namespace Core { class Result; }
24namespace Core { struct DirectoryIterationItem; }
25namespace Core { struct ExcludedPath; }
26// clang-format on
27
28namespace Core {
29
30class FileSystemImpl {
31public:
32 // member variables
33 // NOLINTBEGIN
44 // NOLINTEND
45
46public:
47 // prevent constructor by default
48 FileSystemImpl& operator=(FileSystemImpl const&);
49 FileSystemImpl(FileSystemImpl const&);
50 FileSystemImpl();
51
52public:
53 // virtual functions
54 // NOLINTBEGIN
55 virtual ~FileSystemImpl();
56
57 virtual ::Core::Result getLastModificationTime(::Core::PathView entryPath, int64* lastModificationTime);
58
59 virtual ::Core::Result copyTimeAndAccessRights(::Core::PathView sourceFilePath, ::Core::PathView targetFilePath);
60
61 virtual bool shouldCommit();
62
63 virtual ::Core::CrossStorageCopyMode getCrossStorageCopyMode();
64
65 virtual uint64 getTransactionWriteSizeLimit() const;
66
67 virtual ::Core::Result _openFile(
68 ::std::unique_ptr<::Core::FileImpl>& uptFileOut,
69 ::Core::PathView filename,
70 ::Core::FileOpenMode fileOpenMode,
71 ::Core::FileBufferingMode bufferingMode
72 ) = 0;
73
74 virtual bool _fileExists(::Core::PathView filePath) = 0;
75
76 virtual ::Core::Result _deleteFile(::Core::PathView path) = 0;
77
78 virtual ::Core::Result _deleteFilePriority(::Core::PathView filePath);
79
80 virtual ::Core::Result _getFileSize(::Core::PathView filePath, uint64* pFileSizeOut) = 0;
81
82 virtual ::Core::Result _renameFile(::Core::PathView sourceFilePath, ::Core::PathView targetFilePath) = 0;
83
84 virtual ::Core::Result _createEmptyFile(::Core::PathView fileName);
85
86 virtual ::Core::Result _copyFile(::Core::PathView sourceFileName, ::Core::PathView targetFileName);
87
88 virtual ::Core::Result _copyFileWithLimit(
89 ::Core::PathView sourceFileName,
90 ::Core::PathView targetFileName,
91 uint64 startPosition,
92 uint64& outBytesWritten,
93 uint64& outBytesRemaining
94 );
95
96 virtual ::Core::Result
97 _readFileData(::Core::PathView filePath, ::brstd::function_ref<void*(uint64)> data, uint64* bytesRead);
98
99 virtual ::Core::Result _writeFileData(::Core::PathView filePath, void const* data, uint64 size);
100
101 virtual ::Core::Result _createOneDirectory(::Core::PathView directoryPath) = 0;
102
103 virtual ::Core::Result _createOneDirectoryIfNotExisting(::Core::PathView directoryPath);
104
105 virtual ::Core::Result _createDirectoryRecursively(::Core::PathView directoryPath);
106
107 virtual bool _directoryExists(::Core::PathView directoryPath) = 0;
108
109 virtual ::Core::Result _deleteEmptyDirectory(::Core::PathView directoryPath) = 0;
110
111 virtual ::Core::Result _deleteDirectoryAndContentsRecursively(::Core::PathView directoryPath);
112
113 virtual ::Core::Result _deleteDirectoryContentsRecursively(::Core::PathView directoryPath);
114
115 virtual ::Core::Result _deleteRecursively(::Core::PathView directoryPath, ::Core::FileType deleteFileType);
116
117 virtual ::Core::Result
118 _renameDirectory(::Core::PathView sourceDirectoryPath, ::Core::PathView targetDirectoryPath) = 0;
119
120 virtual ::Core::Result _iterateOverDirectory(
121 ::Core::PathView directoryPath,
122 ::Core::DirectoryIterationFlags flags,
124 ) = 0;
125
126 virtual ::Core::Result
127 _getDirectoryFiles(::std::vector<::Core::PathBuffer<::std::string>>& files, ::Core::PathView directoryPath);
128
129 virtual ::Core::Result _getDirectoryFilesRecursively(
130 ::std::vector<::Core::PathBuffer<::std::string>>& filesOut,
131 ::Core::PathView directoryPath
132 );
133
134 virtual ::Core::Result _getDirectoryFilesSizeRecursively(uint64& totalSize, ::Core::PathView directoryPath);
135
136 virtual ::Core::Result _getDirectoryFilesAllocatedSizeRecursively(
137 uint64& totalSize,
138 uint64& totalSizeAllocated,
139 ::Core::PathView directoryPath
140 );
141
142 virtual ::Core::Result
143 _copyDirectoryAndContentsRecursively(::Core::PathView sourceDirectoryPath, ::Core::PathView targetDirectoryPath);
144
145 virtual bool _fileOrDirectoryExists(::Core::PathView entryPath) = 0;
146
147 virtual ::Core::Result _getFileOrDirectorySize(::Core::PathView entryName, uint64* pFileSizeOut);
148
149 virtual ::Core::Result _getEntryType(::Core::PathView entryPath, ::Core::FileType& fileTypeOut) = 0;
150
151 virtual ::Core::Result _addIgnoredThrottlePath(::Core::PathView);
152
153 virtual ::Core::Result _removeIgnoredThrottlePath(::Core::PathView);
154
155 virtual ::Core::Result _createFlatFile(::Core::PathView sourceDirectoryPath, ::Core::PathView targetDirectoryPath);
156
157 virtual bool _flatFileFileExists(::Core::PathView filePath, ::Core::PathView manifestPath);
158
159 virtual bool _flatFileDirectoryExists(::Core::PathView directoryPath, ::Core::PathView manifestPath);
160
161 virtual ::Core::Result _flatFileIterateOverDirectory(
162 ::Core::PathView directoryPath,
163 ::Core::PathView manifestPath,
164 ::Core::DirectoryIterationFlags flags,
166 );
167
168 virtual bool _isDirectoryPathAFlatFile(::Core::PathView directoryPath);
169
170 virtual ::Core::Result _copyFlatFile(
171 ::Core::PathView sourceDirectoryPath,
172 ::Core::PathView targetDirectoryPath,
173 ::std::vector<::Core::ExcludedPath> const& excludedDirectories,
174 ::std::vector<::Core::ExcludedPath> const& excludedFiles
175 );
176
177 virtual ::Core::Result _flatFileDeleteFileOrDirectory(
178 ::Core::PathView fileOrDirectoryPath,
179 ::Core::PathView manifestPath,
180 bool directoryDeleteEnabled,
181 bool deleteRecursively
182 );
183
184 virtual ::Core::Result
185 _flatFileGetFileSize(::Core::PathView filePath, ::Core::PathView manifestPath, uint64* pFileSize);
186
187 virtual ::Core::Result _getLastModificationTime(::Core::PathView filePath, int64* pModificationTime) = 0;
188
189 virtual ::Core::Result
190 _copyTimeAndAccessRights(::Core::PathView sourceEntryPath, ::Core::PathView targetEntryPath) = 0;
191
192 virtual ::Core::Result _endTransaction();
193
194 virtual ::Core::Result _writeOperation(
196 ::Core::Result&& result,
197 ::std::function<void(::Core::FileStorageArea*)> observerCallOrNull,
198 uint64 numBytesWritten
199 );
200
201 virtual void _initializeInternal();
202 // NOLINTEND
203
204public:
205 // member functions
206 // NOLINTBEGIN
208 ::Core::FileAccessType accessType,
209 ::std::shared_ptr<::Core::FileStorageArea> storageArea,
210 ::std::shared_ptr<::Core::FlatFileManifestTracker> manifestTracker
211 );
212
214 ::Core::FileAccessType accessType,
215 ::std::shared_ptr<::Core::FileStorageArea> storageArea,
216 ::Core::TransactionFlags transactionFlags,
217 ::std::shared_ptr<::Core::FlatFileManifestTracker> manifestTracker
218 );
219
220 MCNAPI void _addFile(::Core::FileImpl* pFile);
221
222 MCNAPI ::Core::Result _flatFileOpenFlatFile(
223 ::std::unique_ptr<::Core::FileImpl>& fileOut,
224 ::Core::PathView filePath,
225 ::Core::PathView manifestPath,
226 ::Core::FileOpenMode openMode,
227 ::Core::FileBufferingMode fileBufferingMode
228 );
229
230 MCNAPI ::Core::Result _flatFileUnloadManifest(::Core::PathView filePath);
231
232 MCNAPI void _initialize();
233
234 MCNAPI ::Core::Result _readOperation(::Core::Result&& result, uint64 numBytesRead);
235
236 MCNAPI ::Core::Result _readWriteOperation(
237 ::Core::Result&& result,
238 ::std::function<void(::Core::FileStorageArea*)> observerCallOrNull,
239 uint64 numBytesRead,
240 uint64 numBytesWritten
241 );
242
243 MCNAPI ::Core::Result addIgnoredThrottlePath(::Core::PathView path);
244
245 MCNAPI ::Core::Result commit();
246
247 MCNAPI ::Core::Result
249
250 MCNAPI ::Core::Result copyFile(::Core::PathView sourceFilePath, ::Core::PathView targetFilePath);
251
252 MCNAPI ::Core::Result copyFileWithLimit(
253 ::Core::PathView sourceFileName,
254 ::Core::PathView targetFileName,
255 uint64 startPosition,
256 uint64& outBytesWritten,
257 uint64& outBytesRemaining
258 );
259
260 MCNAPI ::Core::Result copyFlatFile(
261 ::Core::PathView flatFileParentDirectory,
262 ::Core::PathView targetDirectory,
263 ::std::vector<::Core::ExcludedPath> const& excludedDirectories,
264 ::std::vector<::Core::ExcludedPath> const& excludedFiles
265 );
266
267 MCNAPI ::Core::Result createDirectoryRecursively(::Core::PathView directoryPath);
268
269 MCNAPI ::Core::Result createEmptyFile(::Core::PathView filePath);
270
271 MCNAPI ::Core::Result createFlatFile(::Core::PathView sourceDirectoryPath, ::Core::PathView targetDirectoryPath);
272
273 MCNAPI ::Core::Result createOneDirectory(::Core::PathView directoryPath);
274
275 MCNAPI ::Core::Result createOneDirectoryIfNotExisting(::Core::PathView directoryPath);
276
277 MCNAPI ::Core::Result deleteDirectoryAndContentsRecursively(::Core::PathView directoryPath);
278
279 MCNAPI ::Core::Result deleteDirectoryContentsRecursively(::Core::PathView directoryPath);
280
281 MCNAPI ::Core::Result deleteEmptyDirectory(::Core::PathView directoryPath);
282
283 MCNAPI ::Core::Result deleteFile(::Core::PathView filePath);
284
285 MCNAPI ::Core::Result deleteFilePriority(::Core::PathView filePath);
286
287 MCNAPI bool directoryExists(::Core::PathView directoryPath);
288
289 MCNAPI void enumerateFiles(::std::function<void(::Core::FileImpl*)> const& fx);
290
291 MCNAPI bool fileExists(::Core::PathView filePath);
292
294
295 MCNAPI ::Core::Result
297
299 uint64& totalSize,
300 uint64& totalAllocatedSize,
301 ::Core::PathView directoryPath
302 );
303
304 MCNAPI ::Core::Result getDirectoryFilesRecursively(
305 ::std::vector<::Core::PathBuffer<::std::string>>& files,
306 ::Core::PathView directoryPath
307 );
308
309 MCNAPI ::Core::Result getDirectoryFilesSizeRecursively(uint64& totalSize, ::Core::PathView directoryPath);
310
311 MCNAPI ::Core::Result getFileOrDirectorySize(::Core::PathView entryPath, uint64* pFileSizeOut);
312
313 MCNAPI ::Core::Result getFileSize(::Core::PathView filePath, uint64* pFileSize);
314
315 MCNAPI ::std::shared_ptr<::Core::FlatFileManifestTracker> getFlatFileManifestTracker() const;
316
317 MCNAPI ::std::shared_ptr<::Core::FileStorageArea> getStorageArea();
318
319 MCNAPI bool isDirectoryPathAFlatFile(::Core::PathView directoryPath);
320
321 MCNAPI ::Core::Result iterateOverDirectory(
322 ::Core::PathView directoryPath,
323 ::Core::DirectoryIterationFlags flags,
325 );
326
327 MCNAPI ::Core::Result openFile(
328 ::std::unique_ptr<::Core::FileImpl>& fileOut,
329 ::Core::PathView filePath,
330 ::Core::FileOpenMode openMode,
331 ::Core::FileBufferingMode fileBufferingMode
332 );
333
334 MCNAPI ::Core::Result readFileData(::Core::PathView filePath, ::brstd::function_ref<void*(uint64)> data);
335
336 MCNAPI ::Core::Result removeIgnoredThrottlePath(::Core::PathView path);
337
338 MCNAPI ::Core::Result renameDirectory(::Core::PathView sourceDirectoryPath, ::Core::PathView targetDirectoryPath);
339
340 MCNAPI ::Core::Result renameFile(::Core::PathView sourceFilePath, ::Core::PathView targetFilePath);
341
342 MCNAPI ::Core::Result writeFileData(::Core::PathView filePath, void const* data, uint64 size);
343 // NOLINTEND
344
345public:
346 // static functions
347 // NOLINTBEGIN
348 MCNAPI static ::Core::Result isValidPath(::Core::PathView path);
349 // NOLINTEND
350
351public:
352 // static variables
353 // NOLINTBEGIN
354 MCNAPI static ::Core::FileStats& sStats();
355 // NOLINTEND
356
357public:
358 // constructor thunks
359 // NOLINTBEGIN
360 MCNAPI void* $ctor(
361 ::Core::FileAccessType accessType,
362 ::std::shared_ptr<::Core::FileStorageArea> storageArea,
363 ::std::shared_ptr<::Core::FlatFileManifestTracker> manifestTracker
364 );
365
366 MCNAPI void* $ctor(
367 ::Core::FileAccessType accessType,
368 ::std::shared_ptr<::Core::FileStorageArea> storageArea,
369 ::Core::TransactionFlags transactionFlags,
370 ::std::shared_ptr<::Core::FlatFileManifestTracker> manifestTracker
371 );
372 // NOLINTEND
373
374public:
375 // destructor thunk
376 // NOLINTBEGIN
377 MCNAPI void $dtor();
378 // NOLINTEND
379
380public:
381 // virtual function thunks
382 // NOLINTBEGIN
383 MCNAPI ::Core::Result $getLastModificationTime(::Core::PathView entryPath, int64* lastModificationTime);
384
385 MCNAPI ::Core::Result $copyTimeAndAccessRights(::Core::PathView sourceFilePath, ::Core::PathView targetFilePath);
386
387 MCNAPI bool $shouldCommit();
388
389 MCNAPI ::Core::CrossStorageCopyMode $getCrossStorageCopyMode();
390
391 MCNAPI uint64 $getTransactionWriteSizeLimit() const;
392
393 MCNAPI ::Core::Result $_deleteFilePriority(::Core::PathView filePath);
394
395 MCNAPI ::Core::Result $_createEmptyFile(::Core::PathView fileName);
396
397 MCNAPI ::Core::Result $_copyFile(::Core::PathView sourceFileName, ::Core::PathView targetFileName);
398
399 MCNAPI ::Core::Result $_copyFileWithLimit(
400 ::Core::PathView sourceFileName,
401 ::Core::PathView targetFileName,
402 uint64 startPosition,
403 uint64& outBytesWritten,
404 uint64& outBytesRemaining
405 );
406
407 MCNAPI ::Core::Result
408 $_readFileData(::Core::PathView filePath, ::brstd::function_ref<void*(uint64)> data, uint64* bytesRead);
409
410 MCNAPI ::Core::Result $_writeFileData(::Core::PathView filePath, void const* data, uint64 size);
411
412 MCNAPI ::Core::Result $_createOneDirectoryIfNotExisting(::Core::PathView directoryPath);
413
414 MCNAPI ::Core::Result $_createDirectoryRecursively(::Core::PathView directoryPath);
415
416 MCNAPI ::Core::Result $_deleteDirectoryAndContentsRecursively(::Core::PathView directoryPath);
417
418 MCNAPI ::Core::Result $_deleteDirectoryContentsRecursively(::Core::PathView directoryPath);
419
420 MCNAPI ::Core::Result $_deleteRecursively(::Core::PathView directoryPath, ::Core::FileType deleteFileType);
421
422 MCNAPI ::Core::Result
424
425 MCNAPI ::Core::Result $_getDirectoryFilesRecursively(
426 ::std::vector<::Core::PathBuffer<::std::string>>& filesOut,
427 ::Core::PathView directoryPath
428 );
429
430 MCNAPI ::Core::Result $_getDirectoryFilesSizeRecursively(uint64& totalSize, ::Core::PathView directoryPath);
431
433 uint64& totalSize,
434 uint64& totalSizeAllocated,
435 ::Core::PathView directoryPath
436 );
437
438 MCNAPI ::Core::Result
440
441 MCNAPI ::Core::Result $_getFileOrDirectorySize(::Core::PathView entryName, uint64* pFileSizeOut);
442
444
446
447 MCNAPI ::Core::Result $_createFlatFile(::Core::PathView sourceDirectoryPath, ::Core::PathView targetDirectoryPath);
448
449 MCNAPI bool $_flatFileFileExists(::Core::PathView filePath, ::Core::PathView manifestPath);
450
451 MCNAPI bool $_flatFileDirectoryExists(::Core::PathView directoryPath, ::Core::PathView manifestPath);
452
453 MCNAPI ::Core::Result $_flatFileIterateOverDirectory(
454 ::Core::PathView directoryPath,
455 ::Core::PathView manifestPath,
456 ::Core::DirectoryIterationFlags flags,
458 );
459
461
462 MCNAPI ::Core::Result $_copyFlatFile(
463 ::Core::PathView sourceDirectoryPath,
464 ::Core::PathView targetDirectoryPath,
465 ::std::vector<::Core::ExcludedPath> const& excludedDirectories,
466 ::std::vector<::Core::ExcludedPath> const& excludedFiles
467 );
468
469 MCNAPI ::Core::Result $_flatFileDeleteFileOrDirectory(
470 ::Core::PathView fileOrDirectoryPath,
471 ::Core::PathView manifestPath,
472 bool directoryDeleteEnabled,
473 bool deleteRecursively
474 );
475
476 MCNAPI ::Core::Result
477 $_flatFileGetFileSize(::Core::PathView filePath, ::Core::PathView manifestPath, uint64* pFileSize);
478
479 MCNAPI ::Core::Result $_endTransaction();
480
481 MCNAPI ::Core::Result $_writeOperation(
483 ::Core::Result&& result,
484 ::std::function<void(::Core::FileStorageArea*)> observerCallOrNull,
485 uint64 numBytesWritten
486 );
487
488 MCNAPI void $_initializeInternal();
489
490
491 // NOLINTEND
492
493public:
494 // vftables
495 // NOLINTBEGIN
496 MCNAPI static void** $vftable();
497 // NOLINTEND
498};
499
500} // namespace Core
Definition FileImpl.h:19
Definition FileOpenMode.h:7
Definition FileStats.h:7
Definition FileStorageArea.h:31
MCAPI::Core::Result getDirectoryFilesAllocatedSizeRecursively(uint64 &totalSize, uint64 &totalAllocatedSize, ::Core::PathView directoryPath)
MCAPI FileSystemImpl(::Core::FileAccessType accessType, ::std::shared_ptr<::Core::FileStorageArea > storageArea, ::std::shared_ptr<::Core::FlatFileManifestTracker > manifestTracker)
MCAPI::Core::Result renameDirectory(::Core::PathView sourceDirectoryPath, ::Core::PathView targetDirectoryPath)
MCAPI bool isDirectoryPathAFlatFile(::Core::PathView directoryPath)
MCAPI::Core::Result $_deleteDirectoryAndContentsRecursively(::Core::PathView directoryPath)
MCAPI ::std::shared_ptr<::Core::FlatFileManifestTracker > getFlatFileManifestTracker() const
MCAPI::Core::Result $_readFileData(::Core::PathView filePath, ::brstd::function_ref< void *(uint64)> data, uint64 *bytesRead)
MCAPI::Core::Result getFileOrDirectorySize(::Core::PathView entryPath, uint64 *pFileSizeOut)
MCAPI::Core::Result $_removeIgnoredThrottlePath(::Core::PathView)
MCAPI::Core::Result $_createEmptyFile(::Core::PathView fileName)
MCAPI bool fileOrDirectoryExists(::Core::PathView entryPath)
MCAPI::Core::Result copyFlatFile(::Core::PathView flatFileParentDirectory, ::Core::PathView targetDirectory, ::std::vector<::Core::ExcludedPath > const &excludedDirectories, ::std::vector<::Core::ExcludedPath > const &excludedFiles)
static MCAPI ::Core::Result isValidPath(::Core::PathView path)
MCAPI bool directoryExists(::Core::PathView directoryPath)
MCAPI bool $_flatFileDirectoryExists(::Core::PathView directoryPath, ::Core::PathView manifestPath)
MCAPI::Core::Result _flatFileOpenFlatFile(::std::unique_ptr<::Core::FileImpl > &fileOut, ::Core::PathView filePath, ::Core::PathView manifestPath, ::Core::FileOpenMode openMode, ::Core::FileBufferingMode fileBufferingMode)
MCAPI::Core::Result $_copyFileWithLimit(::Core::PathView sourceFileName, ::Core::PathView targetFileName, uint64 startPosition, uint64 &outBytesWritten, uint64 &outBytesRemaining)
MCAPI bool fileExists(::Core::PathView filePath)
MCAPI::Core::Result $_addIgnoredThrottlePath(::Core::PathView)
MCAPI::Core::Result $_endTransaction()
MCAPI::Core::Result getDirectoryFiles(::std::vector<::Core::PathBuffer<::std::string > > &files, ::Core::PathView directoryPath)
MCAPI::Core::Result createFlatFile(::Core::PathView sourceDirectoryPath, ::Core::PathView targetDirectoryPath)
MCAPI::Core::Result $_createDirectoryRecursively(::Core::PathView directoryPath)
MCAPI::Core::Result $_deleteDirectoryContentsRecursively(::Core::PathView directoryPath)
MCAPI::Core::Result _readOperation(::Core::Result &&result, uint64 numBytesRead)
MCAPI void $dtor()
MCAPI::Core::Result $_createOneDirectoryIfNotExisting(::Core::PathView directoryPath)
MCAPI::Core::Result writeFileData(::Core::PathView filePath, void const *data, uint64 size)
MCAPI void _initialize()
MCAPI::Core::Result addIgnoredThrottlePath(::Core::PathView path)
MCAPI void * $ctor(::Core::FileAccessType accessType, ::std::shared_ptr<::Core::FileStorageArea > storageArea, ::Core::TransactionFlags transactionFlags, ::std::shared_ptr<::Core::FlatFileManifestTracker > manifestTracker)
MCAPI::Core::Result iterateOverDirectory(::Core::PathView directoryPath, ::Core::DirectoryIterationFlags flags, ::brstd::function_ref<::Core::Result(::Core::DirectoryIterationItem const &)> callbackFunction)
MCAPI::Core::Result $_getDirectoryFilesSizeRecursively(uint64 &totalSize, ::Core::PathView directoryPath)
MCAPI::Core::Result $_deleteRecursively(::Core::PathView directoryPath, ::Core::FileType deleteFileType)
MCAPI bool $_flatFileFileExists(::Core::PathView filePath, ::Core::PathView manifestPath)
MCAPI void $_initializeInternal()
MCAPI::Core::Result readFileData(::Core::PathView filePath, ::brstd::function_ref< void *(uint64)> data)
MCAPI::Core::Result $_getDirectoryFiles(::std::vector<::Core::PathBuffer<::std::string > > &files, ::Core::PathView directoryPath)
MCAPI::Core::Result $_copyFile(::Core::PathView sourceFileName, ::Core::PathView targetFileName)
MCAPI::Core::Result commit()
MCAPI::Core::CrossStorageCopyMode $getCrossStorageCopyMode()
MCAPI::Core::Result createOneDirectoryIfNotExisting(::Core::PathView directoryPath)
MCAPI::Core::Result $_flatFileIterateOverDirectory(::Core::PathView directoryPath, ::Core::PathView manifestPath, ::Core::DirectoryIterationFlags flags, ::brstd::function_ref<::Core::Result(::Core::DirectoryIterationItem const &)> callbackFunction)
MCAPI::Core::Result $_flatFileGetFileSize(::Core::PathView filePath, ::Core::PathView manifestPath, uint64 *pFileSize)
MCAPI::Core::Result $getLastModificationTime(::Core::PathView entryPath, int64 *lastModificationTime)
MCAPI::Core::Result $_getDirectoryFilesAllocatedSizeRecursively(uint64 &totalSize, uint64 &totalSizeAllocated, ::Core::PathView directoryPath)
MCAPI::Core::Result copyFile(::Core::PathView sourceFilePath, ::Core::PathView targetFilePath)
MCAPI::Core::Result getFileSize(::Core::PathView filePath, uint64 *pFileSize)
MCAPI::Core::Result _readWriteOperation(::Core::Result &&result, ::std::function< void(::Core::FileStorageArea *)> observerCallOrNull, uint64 numBytesRead, uint64 numBytesWritten)
MCAPI::Core::Result removeIgnoredThrottlePath(::Core::PathView path)
MCAPI::Core::Result $_writeFileData(::Core::PathView filePath, void const *data, uint64 size)
MCAPI void enumerateFiles(::std::function< void(::Core::FileImpl *)> const &fx)
MCAPI::Core::Result createEmptyFile(::Core::PathView filePath)
MCAPI::Core::Result _flatFileUnloadManifest(::Core::PathView filePath)
MCAPI::Core::Result openFile(::std::unique_ptr<::Core::FileImpl > &fileOut, ::Core::PathView filePath, ::Core::FileOpenMode openMode, ::Core::FileBufferingMode fileBufferingMode)
static MCAPI void ** $vftable()
MCAPI::Core::Result renameFile(::Core::PathView sourceFilePath, ::Core::PathView targetFilePath)
MCAPI::Core::Result deleteDirectoryContentsRecursively(::Core::PathView directoryPath)
MCAPI::Core::Result $copyTimeAndAccessRights(::Core::PathView sourceFilePath, ::Core::PathView targetFilePath)
MCAPI void * $ctor(::Core::FileAccessType accessType, ::std::shared_ptr<::Core::FileStorageArea > storageArea, ::std::shared_ptr<::Core::FlatFileManifestTracker > manifestTracker)
MCAPI::Core::Result $_getFileOrDirectorySize(::Core::PathView entryName, uint64 *pFileSizeOut)
MCAPI FileSystemImpl(::Core::FileAccessType accessType, ::std::shared_ptr<::Core::FileStorageArea > storageArea, ::Core::TransactionFlags transactionFlags, ::std::shared_ptr<::Core::FlatFileManifestTracker > manifestTracker)
static MCAPI ::Core::FileStats & sStats()
MCAPI::Core::Result $_copyFlatFile(::Core::PathView sourceDirectoryPath, ::Core::PathView targetDirectoryPath, ::std::vector<::Core::ExcludedPath > const &excludedDirectories, ::std::vector<::Core::ExcludedPath > const &excludedFiles)
MCAPI::Core::Result copyFileWithLimit(::Core::PathView sourceFileName, ::Core::PathView targetFileName, uint64 startPosition, uint64 &outBytesWritten, uint64 &outBytesRemaining)
MCAPI ::std::shared_ptr<::Core::FileStorageArea > getStorageArea()
MCAPI::Core::Result $_createFlatFile(::Core::PathView sourceDirectoryPath, ::Core::PathView targetDirectoryPath)
MCAPI::Core::Result deleteDirectoryAndContentsRecursively(::Core::PathView directoryPath)
MCAPI::Core::Result $_getDirectoryFilesRecursively(::std::vector<::Core::PathBuffer<::std::string > > &filesOut, ::Core::PathView directoryPath)
MCAPI::Core::Result deleteFilePriority(::Core::PathView filePath)
MCAPI::Core::Result $_writeOperation(::Core::PathView, ::Core::Result &&result, ::std::function< void(::Core::FileStorageArea *)> observerCallOrNull, uint64 numBytesWritten)
MCAPI::Core::Result $_flatFileDeleteFileOrDirectory(::Core::PathView fileOrDirectoryPath, ::Core::PathView manifestPath, bool directoryDeleteEnabled, bool deleteRecursively)
MCAPI::Core::Result createOneDirectory(::Core::PathView directoryPath)
MCAPI::Core::Result copyDirectoryAndContentsRecursively(::Core::PathView sourceDirectoryPath, ::Core::PathView targetDirectoryPath)
MCAPI bool $_isDirectoryPathAFlatFile(::Core::PathView directoryPath)
MCAPI::Core::Result $_deleteFilePriority(::Core::PathView filePath)
MCAPI::Core::Result getDirectoryFilesSizeRecursively(uint64 &totalSize, ::Core::PathView directoryPath)
MCAPI void _addFile(::Core::FileImpl *pFile)
MCAPI::Core::Result getDirectoryFilesRecursively(::std::vector<::Core::PathBuffer<::std::string > > &files, ::Core::PathView directoryPath)
MCAPI::Core::Result deleteEmptyDirectory(::Core::PathView directoryPath)
MCAPI uint64 $getTransactionWriteSizeLimit() const
MCAPI::Core::Result $_copyDirectoryAndContentsRecursively(::Core::PathView sourceDirectoryPath, ::Core::PathView targetDirectoryPath)
MCAPI::Core::Result deleteFile(::Core::PathView filePath)
MCAPI::Core::Result createDirectoryRecursively(::Core::PathView directoryPath)
MCAPI bool $shouldCommit()
Definition FlatFileManifestTracker.h:13
Definition PathBuffer.h:8
Definition PathView.h:19
Definition Result.h:11
Definition function_ref.h:60
Definition DirectoryIterationItem.h:18
Definition ExcludedPath.h:10
Definition Alias.h:14