From 79bb654b80d5eb7a65814f80b9ca7ca1ccd62a00 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 4 Mar 2017 00:27:54 +0300 Subject: Reimplement VirtFs in correct way. Now all tests should pass. --- src/fs/virtfsfuncs.h | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) (limited to 'src/fs/virtfsfuncs.h') diff --git a/src/fs/virtfsfuncs.h b/src/fs/virtfsfuncs.h index fee057944..b78643f7f 100644 --- a/src/fs/virtfsfuncs.h +++ b/src/fs/virtfsfuncs.h @@ -23,11 +23,14 @@ #include "enums/simpletypes/append.h" -#include "localconsts.h" +#include "utils/stringvector.h" -#include +#include "localconsts.h" struct VirtFile; +#ifndef USE_PHYSFS +struct VirtFsEntry; +#endif // USE_PHYSFS struct VirtFsFuncs final { @@ -58,6 +61,27 @@ struct VirtFsFuncs final int (*seek) (VirtFile *restrict const file, const uint64_t pos); int (*eof) (VirtFile *restrict const file); +#ifndef USE_PHYSFS + bool (*exists) (VirtFsEntry *restrict const entry, + const std::string &filename, + const std::string &dirName); + bool (*getRealDir) (VirtFsEntry *restrict const entry, + const std::string &filename, + const std::string &dirName, + std::string &realDir); + void (*enumerate) (VirtFsEntry *restrict const entry, + const std::string &dirName, + StringVect &names); + bool (*isDirectory) (VirtFsEntry *restrict const entry, + const std::string &dirName, + bool &isDirFlag); + VirtFile *(*openRead) (VirtFsEntry *restrict const entry, + const std::string &filename); + VirtFile *(*openWrite) (VirtFsEntry *restrict const entry, + const std::string &filename); + VirtFile *(*openAppend) (VirtFsEntry *restrict const entry, + const std::string &filename); +#endif // USE_PHYSFS }; #endif // UTILS_VIRTFSFUNCS_H -- cgit v1.2.3-70-g09d2