From 5fec5bb62084ea8241adbc52945d812bf5e659c3 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sat, 15 Jan 2005 23:06:09 +0000 Subject: [PATCH] added mode parameter to wxFFileStream ctors taking wxFFile git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31383 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/latex/wx/ffilestr.tex | 9 +- include/wx/wfstream.h | 164 +++++++++++++++++-------------------- src/common/wfstream.cpp | 23 +++--- 3 files changed, 91 insertions(+), 105 deletions(-) diff --git a/docs/latex/wx/ffilestr.tex b/docs/latex/wx/ffilestr.tex index ca3eb09639..5970d5c1dd 100644 --- a/docs/latex/wx/ffilestr.tex +++ b/docs/latex/wx/ffilestr.tex @@ -38,9 +38,9 @@ can seek beyond the end of the stream (file) and will thus not return \membersection{wxFFileInputStream::wxFFileInputStream}\label{wxffileinputstreamctor} -\func{}{wxFFileInputStream}{\param{const wxString\&}{ ifileName}} +\func{}{wxFFileInputStream}{\param{const wxString\&}{ filename}, \param{const wxChar *}{ mode = "rb"}} -Opens the specified file using its {\it ifilename} name in read-only mode. +Opens the specified file using its {\it filename} name using the specified mode. \func{}{wxFFileInputStream}{\param{wxFFile\&}{ file}} @@ -102,10 +102,9 @@ can seek beyond the end of the stream (file) and will thus not return \membersection{wxFFileOutputStream::wxFFileOutputStream}\label{wxffileoutputstreamctor} -\func{}{wxFFileOutputStream}{\param{const wxString\&}{ ofileName}} +\func{}{wxFFileOutputStream}{\param{const wxString\&}{ filename}, \param{const wxChar *}{ mode="w+b"}} -Creates a new file with {\it ofilename} name and initializes the stream in -write-only mode. +Opens the file with the given {\it filename} name in the specified mode. \func{}{wxFFileOutputStream}{\param{wxFFile\&}{ file}} diff --git a/include/wx/wfstream.h b/include/wx/wfstream.h index b26ec29f5b..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,58 +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(); - wxFileOffset GetLength() 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); - wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode); - wxFileOffset 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(); +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); } + void Sync(); + bool Close() { return m_file_destroy ? m_file->Close() : true; } + wxFileOffset GetLength() 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); + wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode); + wxFileOffset 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) }; @@ -100,58 +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(); - wxFileOffset GetLength() 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); - wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode); - wxFileOffset 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(); +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(); - // To solve an ambiguity on GCC -// inline wxOutputStream& Write(const void *buffer, size_t size) -// { return wxOutputStream::Write(buffer, size); } + void Sync(); + bool Close() { return m_file_destroy ? m_file->Close() : true; } + wxFileOffset GetLength() 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); + wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode); + wxFileOffset 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) }; @@ -166,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__ diff --git a/src/common/wfstream.cpp b/src/common/wfstream.cpp index f660552426..f0b0178083 100644 --- a/src/common/wfstream.cpp +++ b/src/common/wfstream.cpp @@ -195,18 +195,19 @@ wxFileStream::wxFileStream(const wxString& fileName) // wxFFileInputStream // ---------------------------------------------------------------------------- -wxFFileInputStream::wxFFileInputStream(const wxString& fileName) - : wxInputStream() +wxFFileInputStream::wxFFileInputStream(const wxString& fileName, + const wxChar *mode) + : wxInputStream() { - m_file = new wxFFile(fileName, _T("rb")); + m_file = new wxFFile(fileName, mode); m_file_destroy = true; } wxFFileInputStream::wxFFileInputStream() - : wxInputStream() + : wxInputStream() { - m_file_destroy = false; m_file = NULL; + m_file_destroy = false; } wxFFileInputStream::wxFFileInputStream(wxFFile& file) @@ -262,9 +263,10 @@ wxFileOffset wxFFileInputStream::OnSysTell() const // wxFFileOutputStream // ---------------------------------------------------------------------------- -wxFFileOutputStream::wxFFileOutputStream(const wxString& fileName) +wxFFileOutputStream::wxFFileOutputStream(const wxString& fileName, + const wxChar *mode) { - m_file = new wxFFile(fileName, _T("w+b")); + m_file = new wxFFile(fileName, mode); m_file_destroy = true; if (!m_file->IsOpened()) @@ -285,10 +287,10 @@ wxFFileOutputStream::wxFFileOutputStream(wxFFile& file) } wxFFileOutputStream::wxFFileOutputStream() - : wxOutputStream() + : wxOutputStream() { - m_file_destroy = false; m_file = NULL; + m_file_destroy = false; } wxFFileOutputStream::wxFFileOutputStream(FILE *file) @@ -348,6 +350,5 @@ wxFFileStream::wxFFileStream(const wxString& fileName) wxFFileOutputStream::m_file = wxFFileInputStream::m_file; } -#endif - // wxUSE_STREAMS && wxUSE_FILE +#endif // wxUSE_STREAMS && wxUSE_FILE