draft redesign of new fs
This commit is contained in:
parent
7e54255d29
commit
f4f111b617
|
@ -229,6 +229,9 @@ set(FILE_FORMAT src/core/file_format/pfs.h
|
||||||
src/core/file_format/psf.h
|
src/core/file_format/psf.h
|
||||||
)
|
)
|
||||||
|
|
||||||
|
set(FILESYSTEM src/core/file_sys/file_system.cpp
|
||||||
|
src/core/file_sys/file_system.h)
|
||||||
|
|
||||||
set(UTILITIES src/Util/config.cpp
|
set(UTILITIES src/Util/config.cpp
|
||||||
src/Util/config.h
|
src/Util/config.h
|
||||||
)
|
)
|
||||||
|
@ -240,6 +243,7 @@ qt_add_executable(shadps4
|
||||||
${CORE}
|
${CORE}
|
||||||
${CRYPTO}
|
${CRYPTO}
|
||||||
${FILE_FORMAT}
|
${FILE_FORMAT}
|
||||||
|
${FILESYSTEM}
|
||||||
${UTILITIES}
|
${UTILITIES}
|
||||||
)
|
)
|
||||||
else()
|
else()
|
||||||
|
@ -308,6 +312,7 @@ add_executable(shadps4
|
||||||
${CORE}
|
${CORE}
|
||||||
${CRYPTO}
|
${CRYPTO}
|
||||||
${FILE_FORMAT}
|
${FILE_FORMAT}
|
||||||
|
${FILESYSTEM}
|
||||||
${UTILITIES}
|
${UTILITIES}
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <cstdint>
|
||||||
|
#include <cstring>
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
#include "common/types.h"
|
||||||
|
|
||||||
|
enum FileAccess {
|
||||||
|
FILEACCESS_NONE = 0,
|
||||||
|
FILEACCESS_READ = 1,
|
||||||
|
FILEACCESS_WRITE = 2,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum FileMove { FILEMOVE_BEGIN = 0, FILEMOVE_CURRENT = 1, FILEMOVE_END = 2 };
|
||||||
|
|
||||||
|
class IFileSystem {
|
||||||
|
public:
|
||||||
|
virtual ~IFileSystem() {}
|
||||||
|
|
||||||
|
virtual int OpenFile(std::string filename, FileAccess access) = 0;
|
||||||
|
virtual void CloseFile(u32 handle) = 0;
|
||||||
|
virtual size_t ReadFile(u32 handle, u8* pointer, s64 size) = 0;
|
||||||
|
virtual size_t WriteFile(u32 handle, const u8* pointer, s64 size) = 0;
|
||||||
|
virtual size_t SeekFile(u32 handle, s32 position, FileMove type) = 0;
|
||||||
|
virtual bool OwnsHandle(u32 handle) = 0;
|
||||||
|
virtual bool MkDir(const std::string& dirname) = 0;
|
||||||
|
virtual bool RmDir(const std::string& dirname) = 0;
|
||||||
|
virtual int RenameFile(const std::string& from, const std::string& to) = 0;
|
||||||
|
virtual bool RemoveFile(const std::string& filename) = 0;
|
||||||
|
};
|
Loading…
Reference in New Issue