]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/wfstream.h
avoid infinite recursion for richtooltops, (hopefully) fixes #15070
[wxWidgets.git] / interface / wx / wfstream.h
index d5c03564e4e20ee7da059088d4bc71506139ad54..2e3049b3ebd9be299d9587fcf1ddd0c7d20c6f3c 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     interface of wxTempFileOutputStream
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Purpose:     interface of wxTempFileOutputStream
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
 /////////////////////////////////////////////////////////////////////////////
 
 /**
@@ -57,7 +57,7 @@ public:
 
     This class represents data written to a file.
     There are actually two such groups of classes: this one is based on wxFFile
 
     This class represents data written to a file.
     There are actually two such groups of classes: this one is based on wxFFile
-    whereas wxFileInputStream is based in the wxFile class.
+    whereas wxFileOutputStream is based in the wxFile class.
 
     Note that wxOutputStream::SeekO() can seek beyond the end of the stream
     (file) and will thus not return ::wxInvalidOffset for that.
 
     Note that wxOutputStream::SeekO() can seek beyond the end of the stream
     (file) and will thus not return ::wxInvalidOffset for that.
@@ -65,7 +65,7 @@ public:
     @library{wxbase}
     @category{streams}
 
     @library{wxbase}
     @category{streams}
 
-    @see wxBufferedOutputStream, wxFFileInputStream, wxFileInputStream
+    @see wxBufferedOutputStream, wxFFileInputStream, wxFileOutputStream, wxFileInputStream
 */
 class wxFFileOutputStream : public wxOutputStream
 {
 */
 class wxFFileOutputStream : public wxOutputStream
 {
@@ -107,7 +107,7 @@ public:
 
     This class represents data written to a file.
     There are actually two such groups of classes: this one is based on wxFile
 
     This class represents data written to a file.
     There are actually two such groups of classes: this one is based on wxFile
-    whereas wxFFileInputStream is based in the wxFFile class.
+    whereas wxFFileOutputStream is based in the wxFFile class.
 
     Note that wxOutputStream::SeekO() can seek beyond the end of the stream
     (file) and will thus not return ::wxInvalidOffset for that.
 
     Note that wxOutputStream::SeekO() can seek beyond the end of the stream
     (file) and will thus not return ::wxInvalidOffset for that.
@@ -115,14 +115,14 @@ public:
     @library{wxbase}
     @category{streams}
 
     @library{wxbase}
     @category{streams}
 
-    @see wxBufferedOutputStream, wxFileInputStream, wxFFileInputStream
+    @see wxBufferedOutputStream, wxFileInputStream, wxFFileOutputStream, wxFFileInputStream
 */
 class wxFileOutputStream : public wxOutputStream
 {
 public:
     /**
         Creates a new file with @a ofileName name and initializes the stream in write-only mode.
 */
 class wxFileOutputStream : public wxOutputStream
 {
 public:
     /**
         Creates a new file with @a ofileName name and initializes the stream in write-only mode.
-        
+
         @warning
         You should use wxStreamBase::IsOk() to verify if the constructor succeeded.
     */
         @warning
         You should use wxStreamBase::IsOk() to verify if the constructor succeeded.
     */
@@ -171,7 +171,7 @@ class wxFileInputStream : public wxInputStream
 public:
     /**
         Opens the specified file using its @a ifileName name in read-only mode.
 public:
     /**
         Opens the specified file using its @a ifileName name in read-only mode.
-        
+
         @warning
         You should use wxStreamBase::IsOk() to verify if the constructor succeeded.
     */
         @warning
         You should use wxStreamBase::IsOk() to verify if the constructor succeeded.
     */
@@ -253,24 +253,34 @@ public:
 /**
     @class wxFFileStream
 
 /**
     @class wxFFileStream
 
-    @todo describe this class.
+    This stream allows to both read from and write to a file using buffered
+    STDIO functions.
 
     @library{wxbase}
     @category{streams}
 
 
     @library{wxbase}
     @category{streams}
 
-    @see wxStreamBuffer
+    @see wxFFileInputStream, wxFFileOutputStream, wxFileStream
 */
 */
-class wxFFileStream : public wxFFileOutputStream
+class wxFFileStream : public wxFFileInputStream,
+                      public wxFFileOutputStream
 {
 public:
     /**
         Initializes a new file stream in the given @a mode using the specified
         @a iofileName name.
 {
 public:
     /**
         Initializes a new file stream in the given @a mode using the specified
         @a iofileName name.
-        
+
         @warning
         You should use wxStreamBase::IsOk() to verify if the constructor succeeded.
     */
     wxFFileStream(const wxString& iofileName, const wxString& mode = "w+b");
         @warning
         You should use wxStreamBase::IsOk() to verify if the constructor succeeded.
     */
     wxFFileStream(const wxString& iofileName, const wxString& mode = "w+b");
+
+    /**
+        Returns @true if the stream is initialized and ready.
+
+        This method returns @true if the stream can be both read from and
+        written to.
+    */
+    bool IsOk() const;
 };
 
 
 };
 
 
@@ -278,23 +288,34 @@ public:
 /**
     @class wxFileStream
 
 /**
     @class wxFileStream
 
-    @todo describe this class.
+    This class represents data that can be both read from and written to a file.
+    There are actually two such groups of classes: this one is based on wxFile
+    whereas wxFFileStream is based in the wxFFile class.
 
     @library{wxbase}
     @category{streams}
 
 
     @library{wxbase}
     @category{streams}
 
-    @see wxStreamBuffer
+    @see wxFileInputStream, wxFileOutputStream, wxFFileStream
 */
 */
-class wxFileStream : public wxFileOutputStream
+class wxFileStream : public wxFileOutputStream,
+                     public wxFileInputStream
 {
 public:
     /**
         Initializes a new file stream in read-write mode using the specified
         @a iofileName name.
 {
 public:
     /**
         Initializes a new file stream in read-write mode using the specified
         @a iofileName name.
-        
+
         @warning
         @warning
-        You should use wxStreamBase::IsOk() to verify if the constructor succeeded.
+        You should use IsOk() to verify if the constructor succeeded.
     */
     wxFileStream(const wxString& iofileName);
     */
     wxFileStream(const wxString& iofileName);
+
+    /**
+        Returns @true if the stream is initialized and ready.
+
+        This method returns @true if the stream can be both read from and
+        written to.
+    */
+    bool IsOk() const;
 };
 
 };