15 File(const std::string &filename = std::string(),
16 File::Mode mode = File::Read);
19 bool isOpened() const;
20 File::Mode mode() const;
21 std::string filename() const;
23 bool open(const std::string &filename, File::Mode mode);
24 bool write(const void *buffer, int length);
25 bool read(void *buffer, int length);
31 virtual bool rawOpen(const std::string &filename, File::Mode mode) = 0;
32 virtual bool rawWrite(const void *buffer, int length) = 0;
33 virtual bool rawRead(void *buffer, int length) = 0;
34 virtual char rawGetc() = 0;
35 virtual void rawClose() = 0;
36 virtual void rawFlush() = 0;
39 std::string m_filename;
44 class ZLibFile : public File {
46 ZLibFile(const std::string &filename = std::string(),
47 File::Mode mode = File::Read);
51 virtual bool rawOpen(const std::string &filename, File::Mode mode);
52 virtual bool rawWrite(const void *buffer, int length);
53 virtual bool rawRead(void *buffer, int length);
54 virtual char rawGetc();
55 virtual void rawClose();
56 virtual void rawFlush();