X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/246037e22990a4719c672c2e2a8b62b99cc4d49c..e97a90f0a8a5da3d66a87bbafacb342f8352d8cd:/include/wx/file.h diff --git a/include/wx/file.h b/include/wx/file.h index 40d4d8f21b..50074970d3 100644 --- a/include/wx/file.h +++ b/include/wx/file.h @@ -17,16 +17,15 @@ #pragma interface "file.h" #endif -#include "wx/string.h" -#include "wx/filefn.h" +#ifndef WX_PRECOMP + #include "wx/string.h" + #include "wx/filefn.h" +#endif // ---------------------------------------------------------------------------- // constants // ---------------------------------------------------------------------------- -// error return value for Seek() functions -const off_t ofsInvalid = (off_t)-1; - // we redefine these constants here because S_IREAD &c are _not_ standard // however, we do assume that the values correspond to the Unix umask bits #define wxS_IRUSR 00400 @@ -42,7 +41,8 @@ const off_t ofsInvalid = (off_t)-1; #define wxS_IXOTH 00001 // default mode for the new files: corresponds to umask 022 -#define wxS_DEFAULT (wxS_IRUSR | wxS_IWUSR | wxS_IRGRP | wxS_IROTH) +#define wxS_DEFAULT (wxS_IRUSR | wxS_IWUSR | wxS_IRGRP | wxS_IWGRP |\ + wxS_IROTH | wxS_IWOTH) // ---------------------------------------------------------------------------- // class wxFile: raw file IO @@ -55,7 +55,6 @@ class WXDLLEXPORT wxFile public: // more file constants // ------------------- - // opening mode enum OpenMode { read, write, read_write, write_append }; // standard values for file descriptor @@ -63,7 +62,11 @@ public: // static functions // ---------------- - static bool Exists(const char *sz); // also checks it's a regular file + // check whether a regular file by this name exists + static bool Exists(const char *name); + // check whetther we can access the given file in given mode + // (only read and write make sense here) + static bool Access(const char *name, OpenMode mode); // ctors // ----- @@ -92,7 +95,7 @@ public: // returns number of bytes read or ofsInvalid on error off_t Read(void *pBuf, off_t nCount); // returns true on success - uint Write(const void *pBuf, uint nCount); + size_t Write(const void *pBuf, size_t nCount); // returns true on success bool Write(const wxString& s) { return Write(s.c_str(), s.Len()) != 0; } // flush data not yet written @@ -117,7 +120,7 @@ public: bool Error() const { return m_error; } // dtor closes the file if opened - ~wxFile(); + ~wxFile(); private: // copy ctor and assignment operator are private because @@ -153,7 +156,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, uint n) { return m_file.Write(p, n) != 0; } + bool Write(const void *p, size_t n) { return m_file.Write(p, n) != 0; } bool Write(const wxString& str) { return m_file.Write(str); } // different ways to close the file @@ -166,10 +169,14 @@ public: ~wxTempFile(); private: + // no copy ctor/assignment operator + wxTempFile(const wxTempFile&); + wxTempFile& operator=(const wxTempFile&); + wxString m_strName, // name of the file to replace in Commit() m_strTemp; // temporary file name wxFile m_file; // the temporary file }; #endif - // __FILEH__ + // _WX_FILEH__