diff options
Diffstat (limited to 'src/filesys.h')
-rw-r--r-- | src/filesys.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/filesys.h b/src/filesys.h index cfbfa02bf..3fa2524c3 100644 --- a/src/filesys.h +++ b/src/filesys.h @@ -24,18 +24,22 @@ with this program; if not, write to the Free Software Foundation, Inc., #include <vector> #include "exceptions.h" -#ifdef _WIN32 // WINDOWS +#ifdef _WIN32 #define DIR_DELIM "\\" #define DIR_DELIM_CHAR '\\' #define FILESYS_CASE_INSENSITIVE true #define PATH_DELIM ";" -#else // POSIX +#else #define DIR_DELIM "/" #define DIR_DELIM_CHAR '/' #define FILESYS_CASE_INSENSITIVE false #define PATH_DELIM ":" #endif +namespace irr { namespace io { +class IFileSystem; +}} + namespace fs { @@ -67,6 +71,10 @@ bool DeleteSingleFileOrEmptyDirectory(const std::string &path); // Returns path to temp directory, can return "" on error std::string TempPath(); +// Returns path to securely-created temporary file (will already exist when this function returns) +// can return "" on error +std::string CreateTempFile(); + /* Returns a list of subdirectories, including the path itself, but excluding hidden directories (whose names start with . or _) */ @@ -98,6 +106,10 @@ bool CopyFileContents(const std::string &source, const std::string &target); // Omits files and subdirectories that start with a period bool CopyDir(const std::string &source, const std::string &target); +// Move directory and all subdirectories +// Behavior with files/subdirs that start with a period is undefined +bool MoveDir(const std::string &source, const std::string &target); + // Check if one path is prefix of another // For example, "/tmp" is a prefix of "/tmp" and "/tmp/file" but not "/tmp2" // Ignores case differences and '/' vs. '\\' on Windows @@ -125,6 +137,10 @@ const char *GetFilenameFromPath(const char *path); bool safeWriteToFile(const std::string &path, const std::string &content); +#ifndef SERVER +bool extractZipFile(irr::io::IFileSystem *fs, const char *filename, const std::string &destination); +#endif + bool ReadFile(const std::string &path, std::string &out); bool Rename(const std::string &from, const std::string &to); |