/* * Copyright 2013 (c) Anna Schumaker. */ #ifndef OCARINA_FILE_H #define OCARINA_FILE_H #include #include enum OpenMode { OPEN_READ, OPEN_WRITE, NOT_OPEN, }; class File : public std::fstream { private: OpenMode mode; std::string filename; unsigned int version; unsigned int prev_version; const std::string find_dir(); bool open_read(); bool open_write(); public: File(const std::string &, unsigned int); ~File(); const std::string get_filepath(); const unsigned int get_version(); bool exists(); bool open(OpenMode); void close(); std::string getline(); }; #endif /* OCARINA_FILE_H */