X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FUtils%2FFolders.h;h=495f149bb080c5a2c8bcdd0cd15c703254f51a49;hb=20e924d;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);