/* filesystem/filesystem.h This file is part of the Osirion project and is distributed under the terms of the GNU General Public License version 2 */ #ifndef __INCLUDED_FILESYSTEM_H__ #define __INCLUDED_FILESYSTEM_H__ #include "filesystem/file.h" #include "filesystem/diskfile.h" #include /// The filesystem namespace contains classes and functions for common file operations. /** filesystem is a core subsystem */ namespace filesystem { /// location of the main data files, includes trailing / extern std::string datadir; /// location of the personal data files, includes trailing / extern std::string homedir; /// writeable location extern std::string writedir; /// subdirectory with the base data files, includes trailing / extern std::string basedir; /// subdirectory for the current mod, includes trailing / extern std::string moddir; /// initialize the filesystem subsystem void init(); /// shutdown the filesystem subsystem void shutdown(); /// open a file and return a pointer to a File instance File *open(const char *filename); /// open a file and return a pointer to a File instance File *open(const std::string &filename); /// close and delete a file instance void close(File *file); } // namespace filesystem #endif // __INCLUDED_FILYSYSTEM_H__