Add wxTempFileOutputStream

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Michael Wetherell
2005-03-13 16:20:51 +00:00
parent 5a053c22d8
commit e126517457
16 changed files with 372 additions and 66 deletions

View File

@@ -88,6 +88,31 @@ protected:
DECLARE_NO_COPY_CLASS(wxFileOutputStream)
};
class WXDLLIMPEXP_BASE wxTempFileOutputStream : public wxOutputStream
{
public:
wxTempFileOutputStream(const wxString& fileName);
virtual ~wxTempFileOutputStream();
bool Close() { return Commit(); }
virtual bool Commit() { return m_file->Commit(); }
virtual void Discard() { m_file->Discard(); }
wxFileOffset GetLength() const { return m_file->Length(); }
bool IsSeekable() const { return true; }
protected:
size_t OnSysWrite(const void *buffer, size_t size);
wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode)
{ return m_file->Seek(pos, mode); }
wxFileOffset OnSysTell() const { return m_file->Tell(); }
private:
wxTempFile *m_file;
DECLARE_NO_COPY_CLASS(wxTempFileOutputStream)
};
class WXDLLIMPEXP_BASE wxFileStream : public wxFileInputStream,
public wxFileOutputStream
{