X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FUtils%2FFolders.hpp;h=c2c85877c2017b74750eb2aa5d37282f25e65d07;hb=6a8cb464330e92163c8feaf101b8b5837c973bba;hp=9ecf9e0219eb47395c0d2ea449ed4b3abcbcc48a;hpb=cf610b0dfbf15ffafaefcae72a44957095fd7740;p=lugaru.git diff --git a/Source/Utils/Folders.hpp b/Source/Utils/Folders.hpp index 9ecf9e0..c2c8587 100644 --- a/Source/Utils/Folders.hpp +++ b/Source/Utils/Folders.hpp @@ -1,6 +1,6 @@ /* Copyright (C) 2003, 2010 - Wolfire Games -Copyright (C) 2010-2016 - Lugaru contributors (see AUTHORS file) +Copyright (C) 2010-2017 - Lugaru contributors (see AUTHORS file) This file is part of Lugaru. @@ -27,15 +27,17 @@ along with Lugaru. If not, see . #define DATA_DIR "Data" #endif -struct FileNotFoundException: public std::exception +struct FileNotFoundException : public std::exception { std::string errorText; - - FileNotFoundException (const std::string& filename) - : errorText(filename + " could not be found") - {} - const char * what () const throw () { + FileNotFoundException(const std::string& filename) + : errorText(filename + " could not be found") + { + } + + const char* what() const throw() + { return errorText.c_str(); } }; @@ -56,18 +58,25 @@ public: static FILE* openMandatoryFile(const std::string& filename, const char* mode); + static bool file_exists(const std::string& filepath); + /* Returns full path for a game resource */ static inline std::string getResourcePath(const std::string& filepath) - { return dataDir + '/' + filepath; } + { + return dataDir + '/' + filepath; + } /** Returns full path for user progress save */ static inline std::string getUserSavePath() - { return getUserDataPath() + "/users"; } + { + return getUserDataPath() + "/users"; + } + + static bool makeDirectory(const std::string& path); private: static const char* getHomeDirectory(); static std::string getGenericDirectory(const char* ENVVAR, const std::string& fallback); - static bool makeDirectory(const std::string& path); }; #endif /* _FOLDERS_H_ */