#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*/