X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/371a5b4e62eb415107e045588f614fa49e866e78..0bee2fce884c75e37b2cadc076362f07c5f5779d:/include/wx/file.h diff --git a/include/wx/file.h b/include/wx/file.h index 6c8b2a470d..b767d0a4a0 100644 --- a/include/wx/file.h +++ b/include/wx/file.h @@ -13,15 +13,13 @@ #ifndef _WX_FILEH__ #define _WX_FILEH__ -#if defined(__GNUG__) && !defined(__APPLE__) +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #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 @@ -53,7 +51,8 @@ // NB: for space efficiency this class has no virtual functions, including // dtor which is _not_ virtual, so it shouldn't be used as a base class. // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxFile + +class WXDLLIMPEXP_BASE wxFile { public: // more file constants @@ -67,43 +66,43 @@ 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); // ctors // ----- // def ctor - wxFile() { m_fd = fd_invalid; } + wxFile() { m_fd = fd_invalid; m_error = false; } // open specified file (may fail, use IsOpened()) wxFile(const wxChar *szFileName, OpenMode mode = read); // attach to (already opened) file - wxFile(int fd) { m_fd = fd; } + wxFile(int fd) { m_fd = fd; m_error = false; } // 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); bool Close(); // Close is a NOP if not opened // assign an existing file descriptor and get it back from wxFile object - void Attach(int fd) { Close(); m_fd = fd; } + void Attach(int fd) { Close(); m_fd = fd; m_error = false; } void Detach() { m_fd = fd_invalid; } 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); + wxFileSize_t Read(void *pBuf, wxFileSize_t nCount); // returns the number of bytes written - size_t Write(const void *pBuf, size_t nCount); + wxFileSize_t Write(const void *pBuf, wxFileSize_t nCount); // returns true on success bool Write(const wxString& s, wxMBConv& conv = wxConvUTF8) { const wxWX2MBbuf buf = s.mb_str(conv); - size_t size = strlen(buf); + wxFileSize_t size = strlen(buf); return Write((const char *) buf, size) == size; } // flush data not yet written @@ -111,13 +110,13 @@ public: // 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); + wxFileSize_t 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); } + wxFileSize_t SeekEnd(wxFileOffset ofs = 0) { return Seek(ofs, wxFromEnd); } // get current off_t - off_t Tell() const; + wxFileSize_t Tell() const; // get current file length - off_t Length() const; + wxFileSize_t Length() const; // simple accessors // is file opened? @@ -148,7 +147,8 @@ private: // file (and close this one) or call Discard() to cancel the modification. If // you call neither of them, dtor will call Discard(). // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxTempFile + +class WXDLLIMPEXP_BASE wxTempFile { public: // ctors @@ -164,7 +164,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, wxFileSize_t n) { return m_file.Write(p, n) == n; } bool Write(const wxString& str, wxMBConv& conv = wxConvUTF8) { return m_file.Write(str, conv); }