X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e25cd7750c571191ce69438de5f7c0293d1b5270..cbabf356ce00eb70f677e8483f54062805730e14:/interface/wx/wfstream.h diff --git a/interface/wx/wfstream.h b/interface/wx/wfstream.h index c93e57b7be..27c1a3f406 100644 --- a/interface/wx/wfstream.h +++ b/interface/wx/wfstream.h @@ -2,8 +2,7 @@ // Name: wfstream.h // Purpose: interface of wxTempFileOutputStream // Author: wxWidgets team -// RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** @@ -23,6 +22,8 @@ class wxTempFileOutputStream : public wxOutputStream public: /** Associates wxTempFileOutputStream with the file to be replaced and opens it. + + @warning You should use wxStreamBase::IsOk() to verify if the constructor succeeded. Call Commit() or wxOutputStream::Close() to replace the old file and close @@ -39,13 +40,13 @@ public: either the old file couldn't be deleted or that the new file couldn't be renamed to the old name. */ - bool Commit(); + virtual bool Commit(); /** Discard changes: the old file contents are not changed, the temporary file is deleted. */ - void Discard(); + virtual void Discard(); }; @@ -55,7 +56,7 @@ public: 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. @@ -63,16 +64,19 @@ public: @library{wxbase} @category{streams} - @see wxBufferedOutputStream, wxFFileInputStream, wxFileInputStream + @see wxBufferedOutputStream, wxFFileInputStream, wxFileOutputStream, wxFileInputStream */ class wxFFileOutputStream : public wxOutputStream { public: /** - Initializes a file stream in write-only mode using the file descriptor @e fp. + Open the given file @a filename with mode @a mode. + + @warning + You should use wxStreamBase::IsOk() to verify if the constructor succeeded. */ wxFFileOutputStream(const wxString& filename, - const wxString& mode = "w+b"); + const wxString& mode = "wb"); /** Initializes a file stream in write-only mode using the file I/O object file. @@ -87,12 +91,18 @@ public: /** Destructor. */ - ~wxFFileOutputStream(); + virtual ~wxFFileOutputStream(); /** Returns @true if the stream is initialized and ready. */ bool IsOk() const; + + /** + Returns the underlying file object. + @since 2.9.5 + */ + wxFFile* GetFile() const; }; @@ -102,7 +112,7 @@ public: 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. @@ -110,13 +120,16 @@ public: @library{wxbase} @category{streams} - @see wxBufferedOutputStream, wxFileInputStream, wxFFileInputStream + @see wxBufferedOutputStream, wxFileInputStream, wxFFileOutputStream, wxFFileInputStream */ class wxFileOutputStream : public wxOutputStream { public: /** - Creates a new file with ofilename name and initializes the stream in write-only mode. + 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. */ wxFileOutputStream(const wxString& ofileName); @@ -133,12 +146,18 @@ public: /** Destructor. */ - ~wxFileOutputStream(); + virtual ~wxFileOutputStream(); /** Returns @true if the stream is initialized and ready. */ bool IsOk() const; + + /** + Returns the underlying file object. + @since 2.9.5 + */ + wxFile* GetFile() const; }; @@ -162,7 +181,10 @@ class wxFileInputStream : public wxInputStream { public: /** - Opens the specified file using its ifilename name in read-only mode. + 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. */ wxFileInputStream(const wxString& ifileName); @@ -179,12 +201,18 @@ public: /** Destructor. */ - ~wxFileInputStream(); + virtual ~wxFileInputStream(); /** Returns @true if the stream is initialized and ready. */ bool IsOk() const; + + /** + Returns the underlying file object. + @since 2.9.5 + */ + wxFile* GetFile() const; }; @@ -208,7 +236,10 @@ class wxFFileInputStream : public wxInputStream { public: /** - Opens the specified file using its filename name using the specified mode. + Opens the specified file using its @a filename name using the specified @a mode. + + @warning + You should use wxStreamBase::IsOk() to verify if the constructor succeeded. */ wxFFileInputStream(const wxString& filename, const wxString& mode = "rb"); @@ -226,12 +257,18 @@ public: /** Destructor. */ - ~wxFFileInputStream(); + virtual ~wxFFileInputStream(); /** Returns @true if the stream is initialized and ready. */ bool IsOk() const; + + /** + Returns the underlying file object. + @since 2.9.5 + */ + wxFFile* GetFile() const; }; @@ -239,21 +276,34 @@ public: /** @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} - @see wxStreamBuffer + @see wxFFileInputStream, wxFFileOutputStream, wxFileStream */ -class wxFFileStream : public wxFFileOutputStream +class wxFFileStream : public wxFFileInputStream, + public wxFFileOutputStream { public: /** - Initializes a new file stream in read-write mode using the specified - @a iofilename name. + 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"); + + /** + 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; }; @@ -261,20 +311,34 @@ public: /** @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} - @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. + @a iofileName name. + + @warning + You should use IsOk() to verify if the constructor succeeded. */ 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; };