// read/write (unbuffered)
// read all data from the file into a string (useful for text files)
- bool ReadAll(wxString *str);
+ bool ReadAll(wxString *str, wxMBConv& conv = wxConvUTF8);
// returns number of bytes read - use Eof() and Error() to see if an error
// occured or not
size_t Read(void *pBuf, size_t nCount);
// file pointer operations (return ofsInvalid on failure)
// move ptr ofs bytes related to start/current pos/end of file
- bool Seek(long ofs, wxSeekMode mode = wxFromStart);
+ bool Seek(wxFileOffset ofs, wxSeekMode mode = wxFromStart);
// move ptr to ofs bytes before the end
- bool SeekEnd(long ofs = 0) { return Seek(ofs, wxFromEnd); }
+ bool SeekEnd(wxFileOffset ofs = 0) { return Seek(ofs, wxFromEnd); }
// get current position in the file
- size_t Tell() const;
+ wxFileOffset Tell() const;
// get current file length
- size_t Length() const;
+ wxFileOffset Length() const;
- // simple accessors
+ // simple accessors: note that Eof() and Error() may only be called if
+ // IsOpened()!
// is file opened?
bool IsOpened() const { return m_fp != NULL; }
// is end of file reached?
bool Error() const { return ferror(m_fp) != 0; }
// get the file name
const wxString& GetName() const { return m_name; }
+ // type such as disk or pipe
+ wxFileKind GetKind() const { return wxGetFileKind(m_fp); }
// dtor closes the file if opened
~wxFFile() { Close(); }