/* common/file.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_FILE_H__ #define __INCLUDED_FILE_H__ // C++ headers #include #include namespace common { /// a class to open data files class File : public std::ifstream { public: /// open the file for reading virtual void open(const char * filename, std::ios_base::openmode mode = std::ios_base::in ); /// current filename inline std::string name() { return file_name; } /// location of the main data files, includes trailing / static std::string datadir; /// location of the personal data files, includes trailing / static std::string homedir; /// subdirectory with the base data files, includes trailing / static std::string basedir; /// subdirectory for the current mod, includes trailing / static std::string moddir; private: std::string file_name; }; // class File } // namespace common #endif // __INCLUDED_GAME_H__