]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/fstream.cpp
OGL fixes for wxMotif; added Set/GetClientData to wxMenu in wxMSW/wxMotif/wxStubs.
[wxWidgets.git] / src / common / fstream.cpp
index 14613367e6cedcec8dfa522a411acbe8bd1f82b0..e631cde60df3e42f635dd662b7f48177b7f69c45 100644 (file)
@@ -53,17 +53,22 @@ char wxFileInputStream::Peek()
   return 0;
 }
 
-size_t wxFileInputStream::DoRead(void *buffer, size_t size)
+size_t wxFileInputStream::StreamSize() const
+{
+  return m_file->Length();
+}
+
+size_t wxFileInputStream::OnSysRead(void *buffer, size_t size)
 {
   return m_file->Read(buffer, size);
 }
 
-off_t wxFileInputStream::DoSeekInput(off_t pos, wxSeekMode mode)
+off_t wxFileInputStream::OnSysSeek(off_t pos, wxSeekMode mode)
 {
   return m_file->Seek(pos, mode);
 }
 
-off_t wxFileInputStream::DoTellInput() const
+off_t wxFileInputStream::OnSysTell() const
 {
   return m_file->Tell();
 }
@@ -79,6 +84,13 @@ wxFileOutputStream::wxFileOutputStream(const wxString& fileName)
   m_o_streambuf->SetBufferIO(1024);
 }
 
+wxFileOutputStream::wxFileOutputStream(wxFile& file)
+{
+  m_file = &file;
+  m_file_destroy = FALSE;
+  m_o_streambuf->SetBufferIO(1024);
+}
+
 wxFileOutputStream::wxFileOutputStream()
   : wxOutputStream()
 {
@@ -95,19 +107,19 @@ wxFileOutputStream::~wxFileOutputStream()
   }
 }
 
-size_t wxFileOutputStream::DoWrite(const void *buffer, size_t size)
+size_t wxFileOutputStream::OnSysWrite(const void *buffer, size_t size)
 {
   size_t ret = m_file->Write(buffer, size);
-  m_bad = m_file->Error();
+  m_lasterror = wxStream_EOF; // TODO
   return ret;
 }
 
-off_t wxFileOutputStream::DoTellOutput() const
+off_t wxFileOutputStream::OnSysTell() const
 {
   return m_file->Tell();
 }
 
-off_t wxFileOutputStream::DoSeekOutput(off_t pos, wxSeekMode mode)
+off_t wxFileOutputStream::OnSysSeek(off_t pos, wxSeekMode mode)
 {
   return m_file->Seek(pos, mode);
 }
@@ -118,20 +130,15 @@ void wxFileOutputStream::Sync()
   m_file->Flush();
 }
 
+size_t wxFileOutputStream::StreamSize() const
+{
+  return m_file->Length();
+}
+
 // ----------------------------------------------------------------------------
 // wxFileStream
 // ----------------------------------------------------------------------------
-
 wxFileStream::wxFileStream(const wxString& fileName)
-  : wxFileInputStream(), wxFileOutputStream()
-{
-  m_file = new wxFile(fileName, wxFile::read_write);
-  // Reread the initial buffer.
-  m_i_streambuf->SetBufferIO(1024);
-}
-
-wxFileStream::~wxFileStream()
+ : wxFileInputStream(fileName), wxFileOutputStream(*wxFileInputStream::m_file)
 {
-  Sync();
-  delete m_file;
 }