]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/file.h
Allow customizing AUI tab colours in wxAuiTabArt.
[wxWidgets.git] / interface / wx / file.h
index 30269c2e531caddc592b0a40eb1421df4212747a..9c01ebdd7d6f9e2e9228d0140ff8f67cbb59a54f 100644 (file)
@@ -3,63 +3,10 @@
 // Purpose:     interface of wxTempFile, wxFile
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // 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
 
 /**
     @class wxTempFile
 
@@ -129,6 +76,18 @@ public:
     */
     void Discard();
 
     */
     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.
     */
     /**
         Returns @true if the file was successfully opened.
     */
@@ -214,12 +173,12 @@ public:
             or test if it can be opened for writing with Access(). */
         write,
 
             or test if it can be opened for writing with Access(). */
         write,
 
-        /** Open file for reading and writing; can not be used with Access() */
+        /** Open file for reading and writing; cannot be used with Access() */
         read_write,
 
         /** Open file for appending: the file is opened for writing, but the old contents
             of the file are not erased and the file pointer is initially placed at the end
         read_write,
 
         /** Open file for appending: the file is opened for writing, but the old contents
             of the file are not erased and the file pointer is initially placed at the end
-            of the file; can not be used with Access().
+            of the file; cannot be used with Access().
 
             This is the same as OpenMode::write if the file doesn't exist.
         */
 
             This is the same as OpenMode::write if the file doesn't exist.
         */
@@ -272,6 +231,32 @@ public:
     */
     ~wxFile();
 
     */
     ~wxFile();
 
+    /**
+        Returns the error code for the last unsuccessful operation.
+
+        The error code is system-dependent and corresponds to the value of the
+        standard @c errno variable when the last error occurred.
+
+        Notice that only simple accessors such as IsOpened() and Eof() (and
+        this method itself) don't modify the last error value, all other
+        methods can potentially change it if an error occurs, including the
+        const ones such as Tell() or Length().
+
+        @since 2.9.2
+
+        @see ClearLastError()
+    */
+    int GetLastError() const;
+
+    /**
+        Resets the error code.
+
+        GetLastError() will return 0 until the next error occurs.
+
+        @since 2.9.2
+    */
+    void ClearLastError();
+
     /**
         This function verifies if we may access the given file in specified mode.
         Only values of @c wxFile::read or @c wxFile::write really make sense here.
     /**
         This function verifies if we may access the given file in specified mode.
         Only values of @c wxFile::read or @c wxFile::write really make sense here.