X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FUtils%2FFolders.h;h=495f149bb080c5a2c8bcdd0cd15c703254f51a49;hb=20e924d;hp=0343b6c2d4923578a436cae24a7a08b9947270d0;hpb=c46fa74abc1cd0a50799d979049631abc8b28d00;p=lugaru.git
diff --git a/Source/Utils/Folders.h b/Source/Utils/Folders.h
index 0343b6c..495f149 100644
--- a/Source/Utils/Folders.h
+++ b/Source/Utils/Folders.h
@@ -23,10 +23,22 @@ along with Lugaru. If not, see .
#include
-#ifndef DATADIR
-#define DATADIR "Data"
+#ifndef DATA_DIR
+#define DATA_DIR "Data"
#endif
+struct FileNotFoundException: public std::exception
+{
+ std::string errorText;
+ FileNotFoundException (const std::string& filename) {
+ errorText = filename + " could not be found";
+ }
+
+ const char * what () const throw () {
+ return errorText.c_str();
+ }
+};
+
class Folders
{
static const std::string dataDir;
@@ -44,7 +56,10 @@ public:
/* Returns full path for config file */
static std::string getConfigFilePath();
+ static FILE* openMandatoryFile(std::string filename, const char* mode);
+
private:
+ static const char* getHomeDirectory();
static std::string getGenericDirectory(const char* ENVVAR, const std::string fallback);
static bool makeDirectory(std::string path);
};