/* 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 "filesystem/inifile.h" #include #include /// The filesystem namespace contains classes and functions for common file operations. /** filesystem is a core subsystem */ namespace filesystem { typedef std::list SearchPath; SearchPath & searchpath(); /// initialize the filesystem subsystem void init(const std::string &binaryname, const std::string & basename, const std::string & modname); /// shutdown the filesystem subsystem void shutdown(); /// current home directory e.g. ~/.osirion/ std::string const & homedir(); /// current write directory e.g. ~/.osirion/base/ std::string const & writedir(); /// 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__