X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/655719367ac5e131d9642e5783f3ecf64d1a3385..f469584d643a59dab4545bb95020bf6188af1d69:/include/wx/file.h diff --git a/include/wx/file.h b/include/wx/file.h index 2bc1542698..3382610c57 100644 --- a/include/wx/file.h +++ b/include/wx/file.h @@ -17,11 +17,9 @@ #pragma interface "file.h" #endif -#ifndef WX_PRECOMP - #include "wx/string.h" - #include "wx/filefn.h" - #include "wx/strconv.h" -#endif +#include "wx/string.h" +#include "wx/filefn.h" +#include "wx/strconv.h" #if wxUSE_FILE @@ -68,7 +66,7 @@ public: // ---------------- // check whether a regular file by this name exists static bool Exists(const wxChar *name); - // check whetther we can access the given file in given mode + // check whether we can access the given file in given mode // (only read and write make sense here) static bool Access(const wxChar *name, OpenMode mode); @@ -84,7 +82,7 @@ public: // open/close // create a new file (with the default value of bOverwrite, it will fail if // the file already exists, otherwise it will overwrite it and succeed) - bool Create(const wxChar *szFileName, bool bOverwrite = FALSE, + bool Create(const wxChar *szFileName, bool bOverwrite = false, int access = wxS_DEFAULT); bool Open(const wxChar *szFileName, OpenMode mode = read, int access = wxS_DEFAULT); @@ -96,8 +94,8 @@ public: int fd() const { return m_fd; } // read/write (unbuffered) - // returns number of bytes read or ofsInvalid on error - off_t Read(void *pBuf, off_t nCount); + // returns number of bytes read or wxInvalidOffset on error + ssize_t Read(void *pBuf, size_t nCount); // returns the number of bytes written size_t Write(const void *pBuf, size_t nCount); // returns true on success @@ -110,15 +108,15 @@ public: // flush data not yet written bool Flush(); - // file pointer operations (return ofsInvalid on failure) - // move ptr ofs bytes related to start/current off_t/end of file - off_t Seek(off_t ofs, wxSeekMode mode = wxFromStart); + // file pointer operations (return wxInvalidOffset on failure) + // move ptr ofs bytes related to start/current offset/end of file + wxFileOffset Seek(wxFileOffset ofs, wxSeekMode mode = wxFromStart); // move ptr to ofs bytes before the end - off_t SeekEnd(off_t ofs = 0) { return Seek(ofs, wxFromEnd); } - // get current off_t - off_t Tell() const; + wxFileOffset SeekEnd(wxFileOffset ofs = 0) { return Seek(ofs, wxFromEnd); } + // get current offset + wxFileOffset Tell() const; // get current file length - off_t Length() const; + wxFileOffset Length() const; // simple accessors // is file opened? @@ -127,6 +125,8 @@ public: bool Eof() const; // has an error occured? bool Error() const { return m_error; } + // type such as disk or pipe + wxFileKind GetKind() const { return wxGetFileKind(m_fd); } // dtor closes the file if opened ~wxFile() { Close(); } @@ -166,7 +166,7 @@ public: bool IsOpened() const { return m_file.IsOpened(); } // I/O (both functions return true on success, false on failure) - bool Write(const void *p, size_t n) { return m_file.Write(p, n) != 0; } + bool Write(const void *p, size_t n) { return m_file.Write(p, n) == n; } bool Write(const wxString& str, wxMBConv& conv = wxConvUTF8) { return m_file.Write(str, conv); }