]> git.jsancho.org Git - lugaru.git/blobdiff - Source/Utils/Folders.hpp
Creating map saving folder if needed
[lugaru.git] / Source / Utils / Folders.hpp
index 9d52c49291958df83401ed7ccd1496a9aab9af40..2399506cb7076efd8773fef434ad91dd1389ddbd 100644 (file)
@@ -30,9 +30,10 @@ along with Lugaru.  If not, see <http://www.gnu.org/licenses/>.
 struct FileNotFoundException: public std::exception
 {
     std::string errorText;
-    FileNotFoundException (const std::string& filename) {
-        errorText = filename + " could not be found";
-    }
+
+    FileNotFoundException (const std::string& filename)
+    : errorText(filename + " could not be found")
+    {}
 
     const char * what () const throw () {
         return errorText.c_str();
@@ -44,27 +45,32 @@ class Folders
     static const std::string dataDir;
 
 public:
-    /* Returns path to the screenshot directory. Creates it if needed. */
+    /** Returns path to the screenshot directory. Creates it if needed. */
     static std::string getScreenshotDir();
 
-    /* Returns full path for user data */
+    /** Returns full path for user data */
     static std::string getUserDataPath();
 
-    /* Returns full path for config file */
+    /** Returns full path for config file */
     static std::string getConfigFilePath();
 
-    static FILE* openMandatoryFile(std::string filename, const char* mode);
+    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(std::string filepath) { return dataDir + '/' + filepath; }
+    static inline std::string getResourcePath(const std::string& filepath)
+    { return dataDir + '/' + filepath; }
+
+    /** Returns full path for user progress save */
+    static inline std::string getUserSavePath()
+    { return getUserDataPath() + "/users"; }
 
-    /* Returns full path for user progress save */
-    static inline std::string getUserSavePath() { 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(std::string path);
+    static std::string getGenericDirectory(const char* ENVVAR, const std::string& fallback);
 };
 
 #endif /* _FOLDERS_H_ */