// Name: wfstream.h
// Purpose: interface of wxTempFileOutputStream
// Author: wxWidgets team
-// RCS-ID: $Id$
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
/**
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
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.
@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.
Returns @true if the stream is initialized and ready.
*/
bool IsOk() const;
+
+ /**
+ Returns the underlying file object.
+ @since 2.9.5
+ */
+ wxFFile* GetFile() const;
};
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.
@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);
Returns @true if the stream is initialized and ready.
*/
bool IsOk() const;
+
+ /**
+ Returns the underlying file object.
+ @since 2.9.5
+ */
+ wxFile* GetFile() const;
};
{
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);
Returns @true if the stream is initialized and ready.
*/
bool IsOk() const;
+
+ /**
+ Returns the underlying file object.
+ @since 2.9.5
+ */
+ wxFile* GetFile() const;
};
{
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");
Returns @true if the stream is initialized and ready.
*/
bool IsOk() const;
+
+ /**
+ Returns the underlying file object.
+ @since 2.9.5
+ */
+ wxFFile* GetFile() const;
};
/**
@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;
};
/**
@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;
};