60 virtual ::Core::Result getLastModificationTime(
::Core::PathView entryPath, int64* lastModificationTime);
66 virtual void requestFlush(::std::vector<::Core::PendingWrite>
const& writeRequests);
69 virtual bool shouldCommit();
72 virtual ::Core::CrossStorageCopyMode getCrossStorageCopyMode();
75 virtual uint64 getTransactionWriteSizeLimit()
const;
78 virtual ::Core::Result _openFile(
79 ::std::unique_ptr<::Core::FileImpl>&,
82 ::Core::FileBufferingMode
104 virtual ::Core::Result _copyFileWithLimit(
107 uint64 startPosition,
108 uint64& outBytesWritten,
109 uint64& outBytesRemaining
113 virtual ::Core::Result _readFileData(
::Core::PathView filePath, ::std::vector<uchar>& data);
119 virtual ::Core::Result _createOneDirectoryIfNotExisting(
::Core::PathView directoryPath);
122 virtual ::Core::Result _createDirectoryRecursively(
::Core::PathView directoryPath);
131 virtual ::Core::Result _deleteDirectoryAndContentsRecursively(
::Core::PathView directoryPath);
134 virtual ::Core::Result _deleteDirectoryContentsRecursively(
::Core::PathView directoryPath);
137 virtual ::Core::Result _deleteRecursively(
::Core::PathView directoryPath, ::Core::FileType deleteFileType);
143 virtual ::Core::Result
147 virtual ::Core::Result
151 virtual ::Core::Result _getDirectoryFilesRecursively(
157 virtual ::Core::Result _getDirectoryFilesSizeRecursively(uint64& totalSize,
::Core::PathView directoryPath);
160 virtual ::Core::Result _getDirectoryFilesAllocatedSizeRecursively(
162 uint64& totalSizeAllocated,
167 virtual ::Core::Result
174 virtual ::Core::Result _getFileOrDirectorySize(
::Core::PathView entryName, uint64* pFileSizeOut);
177 virtual ::Core::Result _getEntryType(
::Core::PathView, ::Core::FileType&) = 0;
195 virtual ::Core::Result _flatFileIterateOverDirectory(
198 ::Core::DirectoryIterationFlags flags,
206 virtual ::Core::Result _copyFlatFile(
209 ::std::vector<::Core::ExcludedPath>
const& excludedDirectories,
210 ::std::vector<::Core::ExcludedPath>
const& excludedFiles
214 virtual ::Core::Result _flatFileDeleteFileOrDirectory(
217 bool directoryDeleteEnabled,
218 bool deleteRecursively
222 virtual ::Core::Result
226 virtual ::Core::Result _getLastModificationTime(
::Core::PathView, int64*) = 0;
232 virtual ::Core::Result _endTransaction();
235 virtual ::Core::Result _writeOperation(
239 uint64 numBytesWritten
243 virtual void _initializeInternal();
250 ::Core::FileAccessType accessType,
251 ::std::shared_ptr<::Core::FileStorageArea> storageArea,
252 ::Core::TransactionFlags manifestTracker,
253 ::std::shared_ptr<::Core::FlatFileManifestTracker> transactionFlags
256 MCAPI ::Core::Result _flatFileOpenFlatFile(
257 ::std::unique_ptr<::Core::FileImpl>& fileOut,
261 ::Core::FileBufferingMode fileBufferingMode
266 MCAPI ::Core::Result _readOperation(
::Core::Result&& result, uint64 numBytesRead);
268 MCAPI ::Core::Result _readWriteOperation(
272 uint64 numBytesWritten
275 MCAPI ::Core::Result commit();
282 MCAPI ::Core::Result copyFileWithLimit(
285 uint64 startPosition,
286 uint64& outBytesWritten,
287 uint64& outBytesRemaining
290 MCAPI ::Core::Result createDirectoryRecursively(
::Core::PathView directoryPath);
298 MCAPI ::Core::Result createOneDirectoryIfNotExisting(
::Core::PathView directoryPath);
300 MCAPI ::Core::Result deleteDirectoryAndContentsRecursively(
::Core::PathView directoryPath);
302 MCAPI ::Core::Result deleteDirectoryContentsRecursively(
::Core::PathView directoryPath);
314 MCAPI ::Core::Result getFileSize(
::Core::PathView filePath, uint64* pFileSize);
318 MCAPI ::Core::Result iterateOverDirectory(
320 ::Core::DirectoryIterationFlags flags,
324 MCAPI ::Core::Result openFile(
325 ::std::unique_ptr<::Core::FileImpl>& fileOut,
328 ::Core::FileBufferingMode fileBufferingMode
345 MCAPI static ::Core::FileStats& sStats();
352 ::Core::FileAccessType accessType,
353 ::std::shared_ptr<::Core::FileStorageArea> storageArea,
354 ::Core::TransactionFlags manifestTracker,
355 ::std::shared_ptr<::Core::FlatFileManifestTracker> transactionFlags
368 MCAPI ::Core::Result $getLastModificationTime(
::Core::PathView entryPath, int64* lastModificationTime);
372 MCFOLD
void $requestFlush(::std::vector<::Core::PendingWrite>
const& writeRequests);
374 MCFOLD
bool $shouldCommit();
376 MCFOLD ::Core::CrossStorageCopyMode $getCrossStorageCopyMode();
378 MCAPI uint64 $getTransactionWriteSizeLimit()
const;
384 MCAPI ::Core::Result $_copyFileWithLimit(
387 uint64 startPosition,
388 uint64& outBytesWritten,
389 uint64& outBytesRemaining
392 MCAPI ::Core::Result $_readFileData(
::Core::PathView filePath, ::std::vector<uchar>& data);
394 MCAPI ::Core::Result $_createOneDirectoryIfNotExisting(
::Core::PathView directoryPath);
396 MCAPI ::Core::Result $_createDirectoryRecursively(
::Core::PathView directoryPath);
398 MCAPI ::Core::Result $_deleteDirectoryAndContentsRecursively(
::Core::PathView directoryPath);
400 MCAPI ::Core::Result $_deleteDirectoryContentsRecursively(
::Core::PathView directoryPath);
402 MCAPI ::Core::Result $_deleteRecursively(
::Core::PathView directoryPath, ::Core::FileType deleteFileType);
407 MCAPI ::Core::Result $_getDirectoryFilesRecursively(
412 MCAPI ::Core::Result $_getDirectoryFilesSizeRecursively(uint64& totalSize,
::Core::PathView directoryPath);
414 MCAPI ::Core::Result $_getDirectoryFilesAllocatedSizeRecursively(
416 uint64& totalSizeAllocated,
423 MCAPI ::Core::Result $_getFileOrDirectorySize(
::Core::PathView entryName, uint64* pFileSizeOut);
435 MCAPI ::Core::Result $_flatFileIterateOverDirectory(
438 ::Core::DirectoryIterationFlags flags,
444 MCAPI ::Core::Result $_copyFlatFile(
447 ::std::vector<::Core::ExcludedPath>
const& excludedDirectories,
448 ::std::vector<::Core::ExcludedPath>
const& excludedFiles
451 MCAPI ::Core::Result $_flatFileDeleteFileOrDirectory(
454 bool directoryDeleteEnabled,
455 bool deleteRecursively
461 MCAPI ::Core::Result $_endTransaction();
463 MCAPI ::Core::Result $_writeOperation(
467 uint64 numBytesWritten
470 MCFOLD
void $_initializeInternal();
476 MCAPI
static void** $vftable();