X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FUtils%2FFolders.h;h=495f149bb080c5a2c8bcdd0cd15c703254f51a49;hb=1991e81a5c3bcc9cd0d6d49f56ebd8bcbd76e7b4;hp=9ed7ae447739c4d1b597e364acb38bd93d0961c9;hpb=11ff9aec2c3206a5b9df5bf8815051458628c45a;p=lugaru.git diff --git a/Source/Utils/Folders.h b/Source/Utils/Folders.h index 9ed7ae4..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,6 +56,8 @@ 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);