LeviLamina
Loading...
Searching...
No Matches
MemoryFileSystem.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/FileBufferingMode.h"
8#include "mc/deps/core/file/FileType.h"
9#include "mc/deps/core/file/file_system/FileSystemImpl.h"
10#include "mc/platform/brstd/function_ref.h"
11
12// auto generated forward declare list
13// clang-format off
14namespace Core { class FileImpl; }
15namespace Core { class FileOpenMode; }
16namespace Core { class FileStorageArea; }
17namespace Core { class MemoryFileSystemEntryFile; }
18namespace Core { class PathView; }
19namespace Core { class Result; }
20namespace Core { struct DirectoryIterationItem; }
21// clang-format on
22
23namespace Core {
24
25class MemoryFileSystem : public ::Core::FileSystemImpl {
26public:
27 // member variables
28 // NOLINTBEGIN
31 // NOLINTEND
32
33public:
34 // prevent constructor by default
35 MemoryFileSystem& operator=(MemoryFileSystem const&);
36 MemoryFileSystem(MemoryFileSystem const&);
37 MemoryFileSystem();
38
39public:
40 // virtual functions
41 // NOLINTBEGIN
42 virtual ::Core::Result _openFile(
43 ::std::unique_ptr<::Core::FileImpl>&,
46 ::Core::FileBufferingMode
47 ) /*override*/;
48
49 virtual bool _fileExists(::Core::PathView) /*override*/;
50
51 virtual ::Core::Result _deleteFile(::Core::PathView) /*override*/;
52
53 virtual ::Core::Result _getFileSize(::Core::PathView, uint64*) /*override*/;
54
55 virtual ::Core::Result _renameFile(::Core::PathView, ::Core::PathView) /*override*/;
56
57 virtual ::Core::Result _createEmptyFile(::Core::PathView fileName) /*override*/;
58
59 virtual ::Core::Result _createOneDirectory(::Core::PathView) /*override*/;
60
61 virtual bool _directoryExists(::Core::PathView) /*override*/;
62
63 virtual ::Core::Result _deleteEmptyDirectory(::Core::PathView) /*override*/;
64
65 virtual ::Core::Result _deleteDirectoryAndContentsRecursively(::Core::PathView directoryPath) /*override*/;
66
67 virtual ::Core::Result _deleteDirectoryContentsRecursively(::Core::PathView directoryPath) /*override*/;
68
69 virtual ::Core::Result _renameDirectory(::Core::PathView, ::Core::PathView) /*override*/;
70
71 virtual ::Core::Result _iterateOverDirectory(
73 ::Core::DirectoryIterationFlags,
75 ) /*override*/;
76
77 virtual bool _fileOrDirectoryExists(::Core::PathView) /*override*/;
78
79 virtual ::Core::Result _getLastModificationTime(::Core::PathView, int64*) /*override*/;
80
81 virtual ::Core::Result _copyTimeAndAccessRights(::Core::PathView, ::Core::PathView) /*override*/;
82
83 virtual ::Core::Result _getEntryType(::Core::PathView, ::Core::FileType&) /*override*/;
84
85 virtual void _initializeInternal() /*override*/;
86
87 virtual ::Core::Result _writeOperation(
90 ::std::function<void(::Core::FileStorageArea*)>,
91 uint64
92 ) /*override*/;
93
94 virtual ::std::unique_ptr<::Core::FileImpl>
95 _createMemoryFileHandle(::Core::MemoryFileSystemEntryFile*, ::Core::FileOpenMode, uint64);
96 // NOLINTEND
97
98public:
99 // virtual function thunks
100 // NOLINTBEGIN
101
102 // NOLINTEND
103};
104
105} // namespace Core
Definition FileImpl.h:19
Definition FileOpenMode.h:7
Definition FileStorageArea.h:31
Definition FileSystemImpl.h:30
Definition MemoryFileSystemEntryFile.h:10
Definition PathView.h:19
Definition Result.h:11
Definition function_ref.h:60
Definition DirectoryIterationItem.h:18
Definition Alias.h:14