git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52425 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			270 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
			
		
		
	
	
			270 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        wfstream.h
 | 
						|
// Purpose:     interface of wxTempFileOutputStream
 | 
						|
// Author:      wxWidgets team
 | 
						|
// RCS-ID:      $Id$
 | 
						|
// Licence:     wxWindows license
 | 
						|
/////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
/**
 | 
						|
    @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
 | 
						|
    existing file.
 | 
						|
 | 
						|
    @library{wxbase}
 | 
						|
    @category{streams}
 | 
						|
 | 
						|
    @see wxTempFile
 | 
						|
*/
 | 
						|
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.
 | 
						|
    */
 | 
						|
    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
 | 
						|
        either the old file couldn't be deleted or that the new file couldn't be renamed
 | 
						|
        to the old name.
 | 
						|
    */
 | 
						|
    bool Commit();
 | 
						|
 | 
						|
    /**
 | 
						|
        Discard changes: the old file contents are not changed, the temporary file is
 | 
						|
        deleted.
 | 
						|
    */
 | 
						|
    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.
 | 
						|
 | 
						|
    Note that wxOutputStream::SeekO
 | 
						|
    can seek beyond the end of the stream (file) and will thus not return
 | 
						|
    @e wxInvalidOffset for that.
 | 
						|
 | 
						|
    @library{wxbase}
 | 
						|
    @category{streams}
 | 
						|
 | 
						|
    @see wxBufferedOutputStream, wxFFileInputStream, wxFileInputStream
 | 
						|
*/
 | 
						|
class wxFFileOutputStream : public wxOutputStream
 | 
						|
{
 | 
						|
public:
 | 
						|
    //@{
 | 
						|
    /**
 | 
						|
        Initializes a file stream in write-only mode using the file descriptor @e fp.
 | 
						|
    */
 | 
						|
    wxFFileOutputStream(const wxString& filename,
 | 
						|
                        const wxString& mode = "w+b");
 | 
						|
    wxFFileOutputStream(wxFFile& file);
 | 
						|
    wxFFileOutputStream(FILE* fp);
 | 
						|
    //@}
 | 
						|
 | 
						|
    /**
 | 
						|
        Destructor.
 | 
						|
    */
 | 
						|
    ~wxFFileOutputStream();
 | 
						|
 | 
						|
    /**
 | 
						|
        Returns @true if the stream is initialized and ready.
 | 
						|
    */
 | 
						|
    bool IsOk() const;
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
    @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.
 | 
						|
 | 
						|
    Note that wxOutputStream::SeekO
 | 
						|
    can seek beyond the end of the stream (file) and will thus not return
 | 
						|
    @e wxInvalidOffset for that.
 | 
						|
 | 
						|
    @library{wxbase}
 | 
						|
    @category{streams}
 | 
						|
 | 
						|
    @see wxBufferedOutputStream, wxFileInputStream, wxFFileInputStream
 | 
						|
*/
 | 
						|
class wxFileOutputStream : public wxOutputStream
 | 
						|
{
 | 
						|
public:
 | 
						|
    //@{
 | 
						|
    /**
 | 
						|
        Initializes a file stream in write-only mode using the file descriptor @e fd.
 | 
						|
    */
 | 
						|
    wxFileOutputStream(const wxString& ofileName);
 | 
						|
    wxFileOutputStream(wxFile& file);
 | 
						|
    wxFileOutputStream(int fd);
 | 
						|
    //@}
 | 
						|
 | 
						|
    /**
 | 
						|
        Destructor.
 | 
						|
    */
 | 
						|
    ~wxFileOutputStream();
 | 
						|
 | 
						|
    /**
 | 
						|
        Returns @true if the stream is initialized and ready.
 | 
						|
    */
 | 
						|
    bool IsOk() const;
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
    @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.
 | 
						|
 | 
						|
    Note that wxInputStream::SeekI
 | 
						|
    can seek beyond the end of the stream (file) and will thus not return
 | 
						|
    @e wxInvalidOffset for that.
 | 
						|
 | 
						|
    @library{wxbase}
 | 
						|
    @category{streams}
 | 
						|
 | 
						|
    @see wxBufferedInputStream, wxFileOutputStream, wxFFileOutputStream
 | 
						|
*/
 | 
						|
class wxFileInputStream : public wxInputStream
 | 
						|
{
 | 
						|
public:
 | 
						|
    //@{
 | 
						|
    /**
 | 
						|
        Initializes a file stream in read-only mode using the specified file descriptor.
 | 
						|
    */
 | 
						|
    wxFileInputStream(const wxString& ifileName);
 | 
						|
    wxFileInputStream(wxFile& file);
 | 
						|
    wxFileInputStream(int fd);
 | 
						|
    //@}
 | 
						|
 | 
						|
    /**
 | 
						|
        Destructor.
 | 
						|
    */
 | 
						|
    ~wxFileInputStream();
 | 
						|
 | 
						|
    /**
 | 
						|
        Returns @true if the stream is initialized and ready.
 | 
						|
    */
 | 
						|
    bool IsOk() const;
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
    @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.
 | 
						|
 | 
						|
    Note that wxInputStream::SeekI
 | 
						|
    can seek beyond the end of the stream (file) and will thus not return
 | 
						|
    @e wxInvalidOffset for that.
 | 
						|
 | 
						|
    @library{wxbase}
 | 
						|
    @category{streams}
 | 
						|
 | 
						|
    @see wxBufferedInputStream, wxFFileOutputStream, wxFileOutputStream
 | 
						|
*/
 | 
						|
class wxFFileInputStream : public wxInputStream
 | 
						|
{
 | 
						|
public:
 | 
						|
    //@{
 | 
						|
    /**
 | 
						|
        Initializes a file stream in read-only mode using the specified file pointer @e
 | 
						|
        fp.
 | 
						|
    */
 | 
						|
    wxFFileInputStream(const wxString& filename,
 | 
						|
                       const wxString& mode = "rb");
 | 
						|
    wxFFileInputStream(wxFFile& file);
 | 
						|
    wxFFileInputStream(FILE* fp);
 | 
						|
    //@}
 | 
						|
 | 
						|
    /**
 | 
						|
        Destructor.
 | 
						|
    */
 | 
						|
    ~wxFFileInputStream();
 | 
						|
 | 
						|
    /**
 | 
						|
        Returns @true if the stream is initialized and ready.
 | 
						|
    */
 | 
						|
    bool IsOk() const;
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
    @class wxFFileStream
 | 
						|
    @wxheader{wfstream.h}
 | 
						|
 | 
						|
 | 
						|
    @library{wxbase}
 | 
						|
    @category{FIXME}
 | 
						|
 | 
						|
    @see wxStreamBuffer
 | 
						|
*/
 | 
						|
class wxFFileStream : public wxFFileOutputStream
 | 
						|
{
 | 
						|
public:
 | 
						|
    /**
 | 
						|
        Initializes a new file stream in read-write mode using the specified
 | 
						|
        @e iofilename name.
 | 
						|
    */
 | 
						|
    wxFFileStream(const wxString& iofileName);
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
    @class wxFileStream
 | 
						|
    @wxheader{wfstream.h}
 | 
						|
 | 
						|
 | 
						|
    @library{wxbase}
 | 
						|
    @category{FIXME}
 | 
						|
 | 
						|
    @see wxStreamBuffer
 | 
						|
*/
 | 
						|
class wxFileStream : public wxFileOutputStream
 | 
						|
{
 | 
						|
public:
 | 
						|
    /**
 | 
						|
        Initializes a new file stream in read-write mode using the specified
 | 
						|
        @e iofilename name.
 | 
						|
    */
 | 
						|
    wxFileStream(const wxString& iofileName);
 | 
						|
};
 | 
						|
 |