X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1678ad780265f08fc8b84d180c04ae3a9900b1bb..3a19e16d18542ec645271612d3e0170831cbf0eb:/include/wx/file.h diff --git a/include/wx/file.h b/include/wx/file.h index 72451f8608..50074970d3 100644 --- a/include/wx/file.h +++ b/include/wx/file.h @@ -17,18 +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 // ---------------------------------------------------------------------------- -<<<<<<< file.h -======= // 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 @@ -44,10 +41,10 @@ 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) // ---------------------------------------------------------------------------- ->>>>>>> 1.7 // class wxFile: raw file IO // // NB: for space efficiency this class has no virtual functions, including @@ -58,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 @@ -66,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 // ----- @@ -78,11 +78,6 @@ public: wxFile(int fd) { m_fd = fd; } // open/close -<<<<<<< file.h - bool Create(const char *szFileName, bool bOverwrite = FALSE); - bool Open(const char *szFileName, OpenMode mode = read); - inline bool Close(); // Close is a NOP if not opened -======= // 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 char *szFileName, bool bOverwrite = FALSE, @@ -90,7 +85,6 @@ public: bool Open(const char *szFileName, OpenMode mode = read, int access = wxS_DEFAULT); bool Close(); // Close is a NOP if not opened ->>>>>>> 1.7 // assign an existing file descriptor and get it back from wxFile object void Attach(int fd) { Close(); m_fd = fd; } @@ -101,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 @@ -126,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 @@ -162,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 @@ -175,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__