-Started to move stuff from library back to main game
[supertux.git] / lib / app / setup.h
index 3447f05..98e947f 100644 (file)
 #define SUPERTUX_SETUP_H
 
 #include <vector>
+#include <set>
 #include <string>
-#include "../gui/menu.h"
-#include "../audio/sound.h"
-#include "../special/base.h"
 
 namespace SuperTux {
 
-int faccessible(const char *filename);
-int fcreatedir(const char* relative_dir);
-int fwriteable(const char *filename);
-std::vector<std::string> read_directory(const std::string& pathname);
-
-FILE * opendata(const char * filename, const char * mode);
-string_list_type dsubdirs(const char *rel_path, const char* expected_file);
-string_list_type dfiles(const char *rel_path, const char* glob, const char* exception_str);
-void free_strings(char **strings, int num);
-void st_directory_setup(void);
-void st_general_setup(void);
-void st_general_free();
-void st_video_setup_sdl(void);
-void st_video_setup_gl(void);
-void st_video_setup(void);
-void st_audio_setup(void);
-void st_joystick_setup(void);
-void st_shutdown(void);
-void st_abort(const std::string& reason, const std::string& details);
-
-void parseargs(int argc, char * argv[]);
-
-}
+/// File system utility functions
+struct FileSystem
+  {
+    static bool faccessible(const std::string& filename);
+    static bool fcreatedir(const std::string& relative_dir);
+    static bool fwriteable(const std::string& filename);
+    static std::set<std::string> read_directory(const std::string& pathname);
+    static std::set<std::string> dsubdirs(const std::string& rel_path, const std::string& expected_file);
+    static std::set<std::string> dfiles(const std::string& rel_path, const std::string& glob, const std::string& exception_str);
+
+    static std::string dirname(const std::string& filename);
+  };
+
+} //namespace SuperTux
 
 #endif /*SUPERTUX_SETUP_H*/