X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9cfebe8ccc68d126a5a85bd63e21940a2bdc01d0..59b7da02ff62a33862accc13158870f2a9a23630:/interface/wx/file.h diff --git a/interface/wx/file.h b/interface/wx/file.h index bc1fc15016..a33d0d675e 100644 --- a/interface/wx/file.h +++ b/interface/wx/file.h @@ -3,63 +3,10 @@ // Purpose: interface of wxTempFile, wxFile // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -/** - 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. -*/ -enum wxPosixPermissions -{ - /// standard Posix names for these permission flags - //@{ - wxS_IRUSR = 00400, - wxS_IWUSR = 00200, - wxS_IXUSR = 00100, - - wxS_IRGRP = 00040, - wxS_IWGRP = 00020, - wxS_IXGRP = 00010, - - wxS_IROTH = 00004, - wxS_IWOTH = 00002, - wxS_IXOTH = 00001, - //@} - - /// longer but more readable synonims for the constants above - //@{ - wxPOSIX_USER_READ = wxS_IRUSR, - wxPOSIX_USER_WRITE = wxS_IWUSR, - wxPOSIX_USER_EXECUTE = wxS_IXUSR, - - wxPOSIX_GROUP_READ = wxS_IRGRP, - wxPOSIX_GROUP_WRITE = wxS_IWGRP, - wxPOSIX_GROUP_EXECUTE = wxS_IXGRP, - - wxPOSIX_OTHERS_READ = wxS_IROTH, - wxPOSIX_OTHERS_WRITE = wxS_IWOTH, - wxPOSIX_OTHERS_EXECUTE = wxS_IXOTH, - //@} - - /// Default mode for the new files: allow reading/writing them to everybody but - /// the effective file mode will be set after ANDing this value with umask and - /// so won't include wxS_IW{GRP,OTH} for the default 022 umask value - wxS_DEFAULT = (wxPOSIX_USER_READ | wxPOSIX_USER_WRITE | \ - wxPOSIX_GROUP_READ | wxPOSIX_GROUP_WRITE | \ - wxPOSIX_OTHERS_READ | wxPOSIX_OTHERS_WRITE), - - /// Default mode for the new directories (see wxFileName::Mkdir): allow - /// reading/writing/executing them to everybody, but just like wxS_DEFAULT - /// the effective directory mode will be set after ANDing this value with umask - wxS_DIR_DEFAULT = (wxPOSIX_USER_READ | wxPOSIX_USER_WRITE | wxPOSIX_USER_EXECUTE | \ - wxPOSIX_GROUP_READ | wxPOSIX_GROUP_WRITE | wxPOSIX_GROUP_EXECUTE | \ - wxPOSIX_OTHERS_READ | wxPOSIX_OTHERS_WRITE | wxPOSIX_OTHERS_EXECUTE) -}; - - - /** @class wxTempFile @@ -102,6 +49,8 @@ class wxTempFile public: /** Associates wxTempFile with the file to be replaced and opens it. + + @warning You should use IsOpened() to verify that the constructor succeeded. */ wxTempFile(const wxString& strName); @@ -127,6 +76,18 @@ public: */ void Discard(); + /** + Flush the data written to the file to disk. + + This simply calls wxFile::Flush() for the underlying file and may be + necessary with file systems such as XFS and Ext4 under Linux. Calling + this function may however have serious performance implications and + also is not necessary with many other file systems so it is not done by + default -- but you can call it before calling Commit() to absolutely + ensure that the data was indeed written to the disk correctly. + */ + bool Flush(); + /** Returns @true if the file was successfully opened. */ @@ -135,7 +96,7 @@ public: /** Returns the length of the file. - This method may return wxInvalidOffset if the length couldn't be + This method may return ::wxInvalidOffset if the length couldn't be determined or 0 even for non-empty files if the file is not seekable. In general, the only way to determine if the file for which this function @@ -160,7 +121,7 @@ public: wxSeekMode mode = wxFromStart); /** - Returns the current position or wxInvalidOffset if file is not opened or + Returns the current position or ::wxInvalidOffset if file is not opened or if another error occurred. */ wxFileOffset Tell() const; @@ -248,6 +209,9 @@ public: The filename. @param mode The mode in which to open the file. + + @warning + You should use IsOpened() to verify that the constructor succeeded. */ wxFile(const wxString& filename, wxFile::OpenMode mode = wxFile::read); @@ -365,7 +329,7 @@ public: @param mode The mode in which to open the file. @param access - An OR-combination of wxPosixPermissions enumeration values. + An OR-combination of ::wxPosixPermissions enumeration values. */ bool Open(const wxString& filename, wxFile::OpenMode mode = wxFile::read, int access = wxS_DEFAULT); @@ -378,7 +342,7 @@ public: @param count Bytes to read - @return The number of bytes read, or the symbol wxInvalidOffset. + @return The number of bytes read, or the symbol ::wxInvalidOffset. */ ssize_t Read(void* buffer, size_t count); @@ -390,7 +354,7 @@ public: @param mode One of wxFromStart, wxFromEnd, wxFromCurrent. - @return The actual offset position achieved, or wxInvalidOffset on + @return The actual offset position achieved, or ::wxInvalidOffset on failure. */ wxFileOffset Seek(wxFileOffset ofs, @@ -404,13 +368,13 @@ public: @param ofs Number of bytes before the end of the file. - @return The actual offset position achieved, or wxInvalidOffset on + @return The actual offset position achieved, or ::wxInvalidOffset on failure. */ wxFileOffset SeekEnd(wxFileOffset ofs = 0); /** - Returns the current position or wxInvalidOffset if file is not opened or + Returns the current position or ::wxInvalidOffset if file is not opened or if another error occurred. */ wxFileOffset Tell() const;