X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/79c3e0e1aeebb64da2ac893e6ed7b27edca01a64..6f34921d9369a31de14e4b07e4824e2d701710f0:/src/common/fstream.cpp diff --git a/src/common/fstream.cpp b/src/common/fstream.cpp index ea50fee90a..3d0468bbb9 100644 --- a/src/common/fstream.cpp +++ b/src/common/fstream.cpp @@ -23,15 +23,6 @@ #pragma hdrstop #endif - -#define BUF_TEMP_SIZE 10000 - -#if !USE_SHARED_LIBRARY -IMPLEMENT_CLASS(wxFileInputStream, wxInputStream) -IMPLEMENT_CLASS(wxFileOutputStream, wxOutputStream) -IMPLEMENT_CLASS2(wxFileStream, wxInputStream, wxOutputStream) -#endif - // ---------------------------------------------------------------------------- // wxFileInputStream // ---------------------------------------------------------------------------- @@ -39,25 +30,32 @@ IMPLEMENT_CLASS2(wxFileStream, wxInputStream, wxOutputStream) wxFileInputStream::wxFileInputStream(const wxString& fileName) : wxFile(fileName, read) { - m_lastread = 0; + m_i_streambuf->SetBufferIO(1024); } wxFileInputStream::~wxFileInputStream() { } -wxInputStream& wxFileInputStream::Read(void *buffer, size_t size) +char wxFileInputStream::Peek() { - m_lastread = wxFile::Read(buffer, size); - return *this; + return 0; +} + +size_t wxFileInputStream::DoRead(void *buffer, size_t size) +{ + size_t ret = wxFile::Read(buffer, size); + m_eof = wxFile::Eof(); + + return ret; } -off_t wxFileInputStream::SeekI(off_t pos, wxSeekMode mode) +off_t wxFileInputStream::DoSeekInput(off_t pos, wxSeekMode mode) { return wxFile::Seek(pos, mode); } -off_t wxFileInputStream::TellI() const +off_t wxFileInputStream::DoTellInput() const { return wxFile::Tell(); } @@ -69,32 +67,34 @@ off_t wxFileInputStream::TellI() const wxFileOutputStream::wxFileOutputStream(const wxString& fileName) : wxFile(fileName, write) { - m_lastwrite = 0; + m_o_streambuf->SetBufferIO(1024); } wxFileOutputStream::~wxFileOutputStream() { + Sync(); } -wxOutputStream& wxFileOutputStream::Write(const void *buffer, size_t size) +size_t wxFileOutputStream::DoWrite(const void *buffer, size_t size) { - m_lastwrite = wxFile::Write(buffer, size); + size_t ret = wxFile::Write(buffer, size); m_bad = wxFile::Error(); - return *this; + return ret; } -off_t wxFileOutputStream::TellO() const +off_t wxFileOutputStream::DoTellOutput() const { return wxFile::Tell(); } -off_t wxFileOutputStream::SeekO(off_t pos, wxSeekMode mode) +off_t wxFileOutputStream::DoSeekOutput(off_t pos, wxSeekMode mode) { return wxFile::Seek(pos, mode); } void wxFileOutputStream::Sync() { + wxOutputStream::Sync(); wxFile::Flush(); }