X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/655719367ac5e131d9642e5783f3ecf64d1a3385..eaff0f0d3f7828c2acd9ebde4979acc0b3fa43b5:/include/wx/wfstream.h diff --git a/include/wx/wfstream.h b/include/wx/wfstream.h index a0cb69e11e..249453f183 100644 --- a/include/wx/wfstream.h +++ b/include/wx/wfstream.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: wfstream.h +// Name: wx/wfstream.h // Purpose: File stream classes // Author: Guilhem Lavaux // Modified by: @@ -30,57 +30,56 @@ // wxFileStream using wxFile // ---------------------------------------------------------------------------- -class WXDLLIMPEXP_BASE wxFileInputStream: public wxInputStream { - public: - wxFileInputStream(const wxString& ifileName); - wxFileInputStream(wxFile& file); - wxFileInputStream(int fd); - ~wxFileInputStream(); +class WXDLLIMPEXP_BASE wxFileInputStream : public wxInputStream +{ +public: + wxFileInputStream(const wxString& ifileName); + wxFileInputStream(wxFile& file); + wxFileInputStream(int fd); + ~wxFileInputStream(); - size_t GetSize() const; + wxFileOffset GetLength() const; - bool Ok() const { return m_file->IsOpened(); } + bool Ok() const { return m_file->IsOpened(); } - protected: - wxFileInputStream(); +protected: + wxFileInputStream(); - size_t OnSysRead(void *buffer, size_t size); - off_t OnSysSeek(off_t pos, wxSeekMode mode); - off_t OnSysTell() const; + size_t OnSysRead(void *buffer, size_t size); + wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode); + wxFileOffset OnSysTell() const; - protected: - wxFile *m_file; - bool m_file_destroy; +protected: + wxFile *m_file; + bool m_file_destroy; DECLARE_NO_COPY_CLASS(wxFileInputStream) }; -class WXDLLIMPEXP_BASE wxFileOutputStream: public wxOutputStream { - public: - wxFileOutputStream(const wxString& fileName); - wxFileOutputStream(wxFile& file); - wxFileOutputStream(int fd); - virtual ~wxFileOutputStream(); - - // To solve an ambiguity on GCC -// inline wxOutputStream& Write(const void *buffer, size_t size) -// { return wxOutputStream::Write(buffer, size); } +class WXDLLIMPEXP_BASE wxFileOutputStream : public wxOutputStream +{ +public: + wxFileOutputStream(const wxString& fileName); + wxFileOutputStream(wxFile& file); + wxFileOutputStream(int fd); + virtual ~wxFileOutputStream(); - void Sync(); - size_t GetSize() const; + void Sync(); + bool Close() { return m_file_destroy ? m_file->Close() : true; } + wxFileOffset GetLength() const; - bool Ok() const { return m_file->IsOpened(); } + bool Ok() const { return m_file->IsOpened(); } - protected: - wxFileOutputStream(); +protected: + wxFileOutputStream(); - size_t OnSysWrite(const void *buffer, size_t size); - off_t OnSysSeek(off_t pos, wxSeekMode mode); - off_t OnSysTell() const; + size_t OnSysWrite(const void *buffer, size_t size); + wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode); + wxFileOffset OnSysTell() const; - protected: - wxFile *m_file; - bool m_file_destroy; +protected: + wxFile *m_file; + bool m_file_destroy; DECLARE_NO_COPY_CLASS(wxFileOutputStream) }; @@ -99,57 +98,56 @@ private: // wxFFileStream using wxFFile // ---------------------------------------------------------------------------- -class WXDLLIMPEXP_BASE wxFFileInputStream: public wxInputStream { - public: - wxFFileInputStream(const wxString& ifileName); - wxFFileInputStream(wxFFile& file); - wxFFileInputStream(FILE *file); - ~wxFFileInputStream(); +class WXDLLIMPEXP_BASE wxFFileInputStream : public wxInputStream +{ +public: + wxFFileInputStream(const wxString& fileName, const wxChar *mode = _T("rb")); + wxFFileInputStream(wxFFile& file); + wxFFileInputStream(FILE *file); + ~wxFFileInputStream(); - size_t GetSize() const; + wxFileOffset GetLength() const; - bool Ok() const { return m_file->IsOpened(); } + bool Ok() const { return m_file->IsOpened(); } - protected: - wxFFileInputStream(); +protected: + wxFFileInputStream(); - size_t OnSysRead(void *buffer, size_t size); - off_t OnSysSeek(off_t pos, wxSeekMode mode); - off_t OnSysTell() const; + size_t OnSysRead(void *buffer, size_t size); + wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode); + wxFileOffset OnSysTell() const; - protected: - wxFFile *m_file; - bool m_file_destroy; +protected: + wxFFile *m_file; + bool m_file_destroy; DECLARE_NO_COPY_CLASS(wxFFileInputStream) }; -class WXDLLIMPEXP_BASE wxFFileOutputStream: public wxOutputStream { - public: - wxFFileOutputStream(const wxString& fileName); - wxFFileOutputStream(wxFFile& file); - wxFFileOutputStream(FILE *file); - virtual ~wxFFileOutputStream(); - - // To solve an ambiguity on GCC -// inline wxOutputStream& Write(const void *buffer, size_t size) -// { return wxOutputStream::Write(buffer, size); } +class WXDLLIMPEXP_BASE wxFFileOutputStream : public wxOutputStream +{ +public: + wxFFileOutputStream(const wxString& fileName, const wxChar *mode = _T("w+b")); + wxFFileOutputStream(wxFFile& file); + wxFFileOutputStream(FILE *file); + virtual ~wxFFileOutputStream(); - void Sync(); - size_t GetSize() const; + void Sync(); + bool Close() { return m_file_destroy ? m_file->Close() : true; } + wxFileOffset GetLength() const; - bool Ok() const { return m_file->IsOpened(); } + bool Ok() const { return m_file->IsOpened(); } - protected: - wxFFileOutputStream(); +protected: + wxFFileOutputStream(); - size_t OnSysWrite(const void *buffer, size_t size); - off_t OnSysSeek(off_t pos, wxSeekMode mode); - off_t OnSysTell() const; + size_t OnSysWrite(const void *buffer, size_t size); + wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode); + wxFileOffset OnSysTell() const; - protected: - wxFFile *m_file; - bool m_file_destroy; +protected: + wxFFile *m_file; + bool m_file_destroy; DECLARE_NO_COPY_CLASS(wxFFileOutputStream) }; @@ -164,16 +162,6 @@ private: DECLARE_NO_COPY_CLASS(wxFFileStream) }; -#endif - // wxUSE_STREAMS && wxUSE_FILE - -#endif - // _WX_WXFSTREAM_H__ - - - - - - - +#endif // wxUSE_STREAMS && wxUSE_FILE +#endif // _WX_WXFSTREAM_H__