-/* $Id$
-
-This file is part of libmspio
-Copyright © 2007 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
#ifndef MSP_IO_FILE_H_
#define MSP_IO_FILE_H_
C_TRUNCATE = 2
};
- File(const std::string &, Mode = M_READ, CreateMode =CreateMode(C_CREATE+C_TRUNCATE));
+private:
+ Handle handle;
+
+public:
+ /** Creates a new file object and opens it. If the create flag is set and
+ write access is requested and the file does exist, it is created. Otherwise
+ a missing file is an error. */
+ File(const std::string &, Mode = M_READ, CreateMode = CreateMode(C_CREATE+C_TRUNCATE));
+ virtual ~File();
+ /** Closes the file. Any attempt to access the file after this will cause
+ an exception to be thrown. */
void close();
void set_block(bool);
+protected:
+ virtual unsigned do_write(const char *, unsigned);
+ virtual unsigned do_read(char *, unsigned);
+
+public:
virtual void sync();
- virtual int seek(int, SeekType);
- virtual int tell() const;
+ /** Changes the read/write offset of the file. Returns the new offset. */
+ virtual int seek(int, SeekType);
+
+ /** Returns the current read/write offset of the file. */
+ virtual int tell() const;
virtual Handle get_event_handle() { return handle; }
- virtual ~File();
private:
- Handle handle;
-
- void check_access(Mode) const;
-protected:
- virtual unsigned do_write(const char *, unsigned);
- virtual unsigned do_read(char *, unsigned);
+ void check_access(Mode) const;
};
inline File::CreateMode operator|(File::CreateMode m, File::CreateMode n)