X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1678ad780265f08fc8b84d180c04ae3a9900b1bb..2ed57eb790d9e1f18adb50ec122f1ee17152018c:/include/wx/file.h?ds=sidebyside diff --git a/include/wx/file.h b/include/wx/file.h index 72451f8608..038b578e33 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,31 +62,29 @@ 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 wxChar *name); + // check whetther 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; } // open specified file (may fail, use IsOpened()) - wxFile(const char *szFileName, OpenMode mode = read); + wxFile(const wxChar *szFileName, OpenMode mode = read); // attach to (already opened) file 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, + bool Create(const wxChar *szFileName, bool bOverwrite = FALSE, int access = wxS_DEFAULT); - bool Open(const char *szFileName, OpenMode mode = read, + bool Open(const wxChar *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,9 +95,9 @@ 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; } + bool Write(const wxString& s) { return Write(s.c_str(), s.Len()*sizeof(wxChar)) != 0; } // flush data not yet written bool Flush(); @@ -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__