X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ae3c17b4013e80b99976c750c19fca47729517f6..c29c95fe24973b94fd724db767193171ca7c513d:/interface/wx/wfstream.h diff --git a/interface/wx/wfstream.h b/interface/wx/wfstream.h index de501d0490..2e3049b3eb 100644 --- a/interface/wx/wfstream.h +++ b/interface/wx/wfstream.h @@ -3,15 +3,14 @@ // Purpose: interface of wxTempFileOutputStream // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** @class wxTempFileOutputStream - @wxheader{wfstream.h} - wxTempFileOutputStream is an output stream based on wxTempFile. It - provides a relatively safe way to replace the contents of the + wxTempFileOutputStream is an output stream based on wxTempFile. + It provides a relatively safe way to replace the contents of the existing file. @library{wxbase} @@ -24,67 +23,76 @@ class wxTempFileOutputStream : public wxOutputStream public: /** Associates wxTempFileOutputStream with the file to be replaced and opens it. - You should use - wxStreamBase::IsOk to verify if the constructor succeeded. - Call Commit() or wxOutputStream::Close to - replace the old file and close this one. Calling Discard() - (or allowing the destructor to do it) will discard the changes. + + @warning + You should use wxStreamBase::IsOk() to verify if the constructor succeeded. + + Call Commit() or wxOutputStream::Close() to replace the old file and close + this one. Calling Discard() (or allowing the destructor to do it) will + discard the changes. */ wxTempFileOutputStream(const wxString& fileName); /** Validate changes: deletes the old file of the given name and renames the new - file to the old name. Returns @true if both actions succeeded. If @false is - returned it may unfortunately mean two quite different things: either that + file to the old name. Returns @true if both actions succeeded. + + If @false is returned it may unfortunately mean two quite different things: either that 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(); }; /** @class wxFFileOutputStream - @wxheader{wfstream.h} - 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. + This class represents data written to a file. + There are actually two such groups of classes: this one is based on wxFFile + 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 - @e wxInvalidOffset for that. + Note that wxOutputStream::SeekO() can seek beyond the end of the stream + (file) and will thus not return ::wxInvalidOffset for that. @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 = "wb"); + + /** + Initializes a file stream in write-only mode using the file I/O object file. + */ wxFFileOutputStream(wxFFile& file); + + /** + Initializes a file stream in write-only mode using the file descriptor fp. + */ wxFFileOutputStream(FILE* fp); - //@} /** Destructor. */ - ~wxFFileOutputStream(); + virtual ~wxFFileOutputStream(); /** Returns @true if the stream is initialized and ready. @@ -96,38 +104,44 @@ public: /** @class wxFileOutputStream - @wxheader{wfstream.h} - 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. + This class represents data written to a file. + There are actually two such groups of classes: this one is based on wxFile + 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 - @e wxInvalidOffset for that. + Note that wxOutputStream::SeekO() can seek beyond the end of the stream + (file) and will thus not return ::wxInvalidOffset for that. @library{wxbase} @category{streams} - @see wxBufferedOutputStream, wxFileInputStream, wxFFileInputStream + @see wxBufferedOutputStream, wxFileInputStream, wxFFileOutputStream, wxFFileInputStream */ class wxFileOutputStream : public wxOutputStream { public: - //@{ /** - Initializes a file stream in write-only mode using the file descriptor @e fd. + 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); + + /** + Initializes a file stream in write-only mode using the file I/O object file. + */ wxFileOutputStream(wxFile& file); + + /** + Initializes a file stream in write-only mode using the file descriptor @e fd. + */ wxFileOutputStream(int fd); - //@} /** Destructor. */ - ~wxFileOutputStream(); + virtual ~wxFileOutputStream(); /** Returns @true if the stream is initialized and ready. @@ -139,16 +153,13 @@ public: /** @class wxFileInputStream - @wxheader{wfstream.h} - This class represents data read in from a file. There are actually - two such groups of classes: this one is based on wxFile - whereas wxFFileInputStream is based in - the wxFFile class. + This class represents data read in from a file. + There are actually two such groups of classes: this one is based on wxFile + whereas wxFFileInputStream is based in the wxFFile class. - Note that wxInputStream::SeekI - can seek beyond the end of the stream (file) and will thus not return - @e wxInvalidOffset for that. + Note that wxInputStream::SeekI() can seek beyond the end of the stream (file) + and will thus not return ::wxInvalidOffset for that. @library{wxbase} @category{streams} @@ -158,19 +169,28 @@ public: class wxFileInputStream : public wxInputStream { public: - //@{ /** - Initializes a file stream in read-only mode using the specified file descriptor. + 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); + + /** + Initializes a file stream in read-only mode using the file I/O object file. + */ wxFileInputStream(wxFile& file); + + /** + Initializes a file stream in read-only mode using the specified file descriptor. + */ wxFileInputStream(int fd); - //@} /** Destructor. */ - ~wxFileInputStream(); + virtual ~wxFileInputStream(); /** Returns @true if the stream is initialized and ready. @@ -182,16 +202,13 @@ public: /** @class wxFFileInputStream - @wxheader{wfstream.h} - This class represents data read in from a file. There are actually - two such groups of classes: this one is based on wxFFile - whereas wxFileInputStream is based in - the wxFile class. + This class represents data read in from a file. + There are actually two such groups of classes: this one is based on wxFFile + whereas wxFileInputStream is based in the wxFile class. - Note that wxInputStream::SeekI - can seek beyond the end of the stream (file) and will thus not return - @e wxInvalidOffset for that. + Note that wxInputStream::SeekI() can seek beyond the end of the stream (file) + and will thus not return ::wxInvalidOffset for that. @library{wxbase} @category{streams} @@ -201,21 +218,29 @@ public: class wxFFileInputStream : public wxInputStream { public: - //@{ /** - Initializes a file stream in read-only mode using the specified file pointer @e - fp. + 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"); + + /** + Initializes a file stream in read-only mode using the file I/O object file. + */ wxFFileInputStream(wxFFile& file); + + /** + Initializes a file stream in read-only mode using the specified file pointer @a fp. + */ wxFFileInputStream(FILE* fp); - //@} /** Destructor. */ - ~wxFFileInputStream(); + virtual ~wxFFileInputStream(); /** Returns @true if the stream is initialized and ready. @@ -227,43 +252,70 @@ public: /** @class wxFFileStream - @wxheader{wfstream.h} + This stream allows to both read from and write to a file using buffered + STDIO functions. @library{wxbase} - @category{FIXME} + @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 - @e 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; }; /** @class wxFileStream - @wxheader{wfstream.h} + 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{FIXME} + @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 - @e 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; };