]> git.saurik.com Git - wxWidgets.git/commitdiff
added wxTempFile::Flush() (dedicated to Theodore Ts'o and Ext4)
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 31 May 2009 09:49:31 +0000 (09:49 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 31 May 2009 09:49:31 +0000 (09:49 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60830 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/changes.txt
include/wx/file.h
interface/wx/file.h

index 4f525f48a8edbd87ba47687157125f8fbed0fdb0..345e0c1e1bbc503f6641f5ce941593ab31dbb9e3 100644 (file)
@@ -330,6 +330,7 @@ All:
 
 - Added wxStd{Input,Output}Stream classes (Jonathan Liu).
 - Include port number in host header in wxHTTP (Marcin 'Malcom' Malich).
+- Added wxTempFile::Flush().
 
 All (GUI):
 
index df901520ef7b90f266053b5261a6b195515e9dbd..5f00e49c11b462fdefaaee50fa823744821e58ff 100644 (file)
@@ -197,6 +197,10 @@ public:
   bool Write(const wxString& str, const wxMBConv& conv = wxMBConvUTF8())
     { return m_file.Write(str, conv); }
 
+  // flush data: can be called before closing file to ensure that data was
+  // correctly written out
+  bool Flush() { return m_file.Flush(); }
+
   // different ways to close the file
     // validate changes and delete the old file of name m_strName
   bool Commit();
index 30269c2e531caddc592b0a40eb1421df4212747a..10efe6534d54453d2b182b4188e704fc22d44af7 100644 (file)
@@ -129,6 +129,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.
     */