X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/79c3e0e1aeebb64da2ac893e6ed7b27edca01a64..8e18907799c4b338607b4d57861f97266431b01d:/include/wx/fstream.h diff --git a/include/wx/fstream.h b/include/wx/fstream.h index 384a614bc4..b67ba0800e 100644 --- a/include/wx/fstream.h +++ b/include/wx/fstream.h @@ -8,68 +8,74 @@ // Copyright: (c) Guilhem Lavaux // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifndef __WXFSTREAM_H__ -#define __WXFSTREAM_H__ + +#ifndef _WX_WXFSTREAM_H__ +#define _WX_WXFSTREAM_H__ + +#ifdef __GNUG__ +#pragma interface "fstream.h" +#endif #include #include #include #include -class wxFileInputStream: virtual public wxFile, public wxInputStream { - DECLARE_CLASS(wxFileInputStream) +class wxFileInputStream: public wxInputStream { public: - wxFileInputStream(const wxString& fileName); - virtual ~wxFileInputStream(); - - wxInputStream& Read(void *buffer, size_t size); - off_t SeekI(off_t pos, wxSeekMode mode = wxFromStart); - off_t TellI() const; + wxFileInputStream(const wxString& ifileName); + wxFileInputStream(wxFile& file); + wxFileInputStream(int fd); + ~wxFileInputStream(); - bool Eof() const { return m_eof; } - size_t LastRead() const { return m_lastread; } + char Peek(); + size_t StreamSize() const; - bool Ok() const { return wxFile::IsOpened(); } + bool Ok() const { return m_file->IsOpened(); } protected: - wxFileInputStream() {} + wxFileInputStream(); + + size_t OnSysRead(void *buffer, size_t size); + off_t OnSysSeek(off_t pos, wxSeekMode mode); + off_t OnSysTell() const; protected: - bool m_eof; - bool m_ok_i; - size_t m_lastread; + wxFile *m_file; + bool m_file_destroy; }; -class wxFileOutputStream: virtual wxFile, public wxOutputStream { - DECLARE_CLASS(wxFileOutputStream) +class wxFileOutputStream: public wxOutputStream { public: wxFileOutputStream(const wxString& fileName); + wxFileOutputStream(wxFile& file); + wxFileOutputStream(int fd); virtual ~wxFileOutputStream(); - wxOutputStream& Write(const void *buffer, size_t size); - off_t SeekO(off_t pos, wxSeekMode mode = wxFromStart); - off_t TellO() const; - - bool Bad() const { return m_bad; } - size_t LastWrite() const { return m_lastwrite; } + // To solve an ambiguity on GCC + inline wxOutputStream& Write(const void *buffer, size_t size) + { return wxOutputStream::Write(buffer, size); } void Sync(); + size_t StreamSize() const; - bool IsOpened() const { return wxFile::IsOpened(); } + bool Ok() const { return m_file->IsOpened(); } protected: - wxFileOutputStream() {} + wxFileOutputStream(); + + size_t OnSysWrite(const void *buffer, size_t size); + off_t OnSysSeek(off_t pos, wxSeekMode mode); + off_t OnSysTell() const; protected: - bool m_bad; - size_t m_lastwrite; + wxFile *m_file; + bool m_file_destroy; }; class wxFileStream: public wxFileInputStream, public wxFileOutputStream { - DECLARE_CLASS(wxFileStream) public: wxFileStream(const wxString& fileName); - virtual ~wxFileStream(); }; #endif