28 #ifndef BERSERK_FILESYSTEM_HPP
29 #define BERSERK_FILESYSTEM_HPP
39 #include <unordered_map>
226 bool IsFileExistsAbs(
const String &filename);
227 bool IsDirExistsAbs(
const String &dirname);
233 std::vector<String> mSearchPaths;
236 std::unordered_map<String, String> mCachedFullFilePath;
239 std::unordered_map<String, String> mCachedFullDirPath;
244 mutable std::recursive_mutex mMutex;
#define BRK_NS_END
Definition: Config.hpp:48
#define BRK_API
Definition: Config.hpp:32
Target platform file system access and file utils.
Definition: FileSystem.hpp:53
BRK_API Ref< Data > ReadFile(const String &filepath)
Read file by file path.
Definition: FileSystem.cpp:44
BRK_API String GetFileExtension(const String &filename)
Retrieve file extension.
Definition: FileSystem.cpp:158
BRK_API String GetExecutableDir() const
Path to the executable directory where file of the application is located.
Definition: FileSystem.cpp:199
EntryType
Type of directory entry.
Definition: FileSystem.hpp:56
BRK_API void CloseFile(std::FILE *file)
Close opened file.
Definition: FileSystem.cpp:39
BRK_API bool IsFileExists(const String &filename)
Check if specified file exists.
Definition: FileSystem.cpp:166
BRK_API void AddSearchPath(String path)
Add search path.
Definition: FileSystem.cpp:69
BRK_API std::FILE * OpenFile(const String &filepath, const String &mode)
Open file by file path and mode.
Definition: UnixFileSystem.cpp:44
BRK_API String GetFullDirPath(const String &dirname)
Get full path for specified directory.
Definition: FileSystem.cpp:126
BRK_API bool IsAbsolutePath(const String &filename)
Check is passed path is absolute.
Definition: UnixFileSystem.cpp:68
BRK_API String GetFileName(const String &filename, bool withoutExtension=false)
Get file name from file path.
Definition: UnixFileSystem.cpp:48
BRK_API ~FileSystem()=default
BRK_API const String & GetExecutablePath()
Path to the executable file of the application.
Definition: FileSystem.cpp:195
BRK_API FileSystem()
Definition: FileSystem.cpp:35
BRK_API bool IsDirExists(const String &dirname)
Check if specified directory exists.
Definition: FileSystem.cpp:171
BRK_API String GetFullFilePath(const String &filename)
Get full path for specified file.
Definition: FileSystem.cpp:99
BRK_API void SetSearchPaths(std::vector< String > searchPaths)
Set search paths for paths resolution.
Definition: FileSystem.cpp:83
BRK_API std::vector< Entry > ListDir(const String &dir)
List entries of the specified directory.
Definition: UnixFileSystem.cpp:72
Utf-8 encoded std based default string class.
Definition: GLDevice.cpp:46
Directory entry.
Definition: FileSystem.hpp:68
String name
Definition: FileSystem.hpp:69
EntryType type
Definition: FileSystem.hpp:70