X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/886dd7d28e50c003cc88b81b968d487a3c17b0d7..4b412d238281008e248bcdebeae4baf4b67191e7:/include/wx/wfstream.h?ds=sidebyside diff --git a/include/wx/wfstream.h b/include/wx/wfstream.h index 73f38385b2..b26ec29f5b 100644 --- a/include/wx/wfstream.h +++ b/include/wx/wfstream.h @@ -12,7 +12,7 @@ #ifndef _WX_WXFSTREAM_H__ #define _WX_WXFSTREAM_H__ -#if defined(__GNUG__) && !defined(__APPLE__) +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "wfstream.h" #endif @@ -30,14 +30,14 @@ // wxFileStream using wxFile // ---------------------------------------------------------------------------- -class WXDLLEXPORT_BASE wxFileInputStream: public wxInputStream { +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(); } @@ -45,8 +45,8 @@ class WXDLLEXPORT_BASE wxFileInputStream: public wxInputStream { wxFileInputStream(); size_t OnSysRead(void *buffer, size_t size); - off_t OnSysSeek(off_t pos, wxSeekMode mode); - off_t OnSysTell() const; + wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode); + wxFileOffset OnSysTell() const; protected: wxFile *m_file; @@ -55,7 +55,7 @@ class WXDLLEXPORT_BASE wxFileInputStream: public wxInputStream { DECLARE_NO_COPY_CLASS(wxFileInputStream) }; -class WXDLLEXPORT_BASE wxFileOutputStream: public wxOutputStream { +class WXDLLIMPEXP_BASE wxFileOutputStream: public wxOutputStream { public: wxFileOutputStream(const wxString& fileName); wxFileOutputStream(wxFile& file); @@ -67,7 +67,8 @@ class WXDLLEXPORT_BASE wxFileOutputStream: public wxOutputStream { // { return wxOutputStream::Write(buffer, size); } void Sync(); - size_t GetSize() const; + bool Close() { return m_file_destroy ? m_file->Close() : true; } + wxFileOffset GetLength() const; bool Ok() const { return m_file->IsOpened(); } @@ -75,8 +76,8 @@ class WXDLLEXPORT_BASE wxFileOutputStream: public wxOutputStream { wxFileOutputStream(); size_t OnSysWrite(const void *buffer, size_t size); - off_t OnSysSeek(off_t pos, wxSeekMode mode); - off_t OnSysTell() const; + wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode); + wxFileOffset OnSysTell() const; protected: wxFile *m_file; @@ -85,23 +86,28 @@ class WXDLLEXPORT_BASE wxFileOutputStream: public wxOutputStream { DECLARE_NO_COPY_CLASS(wxFileOutputStream) }; -class WXDLLEXPORT_BASE wxFileStream: public wxFileInputStream, public wxFileOutputStream { - public: - wxFileStream(const wxString& fileName); +class WXDLLIMPEXP_BASE wxFileStream : public wxFileInputStream, + public wxFileOutputStream +{ +public: + wxFileStream(const wxString& fileName); + +private: + DECLARE_NO_COPY_CLASS(wxFileStream) }; // ---------------------------------------------------------------------------- // wxFFileStream using wxFFile // ---------------------------------------------------------------------------- -class WXDLLEXPORT_BASE wxFFileInputStream: public wxInputStream { +class WXDLLIMPEXP_BASE wxFFileInputStream: public wxInputStream { public: wxFFileInputStream(const wxString& ifileName); wxFFileInputStream(wxFFile& file); wxFFileInputStream(FILE *file); ~wxFFileInputStream(); - size_t GetSize() const; + wxFileOffset GetLength() const; bool Ok() const { return m_file->IsOpened(); } @@ -109,8 +115,8 @@ class WXDLLEXPORT_BASE wxFFileInputStream: public wxInputStream { wxFFileInputStream(); size_t OnSysRead(void *buffer, size_t size); - off_t OnSysSeek(off_t pos, wxSeekMode mode); - off_t OnSysTell() const; + wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode); + wxFileOffset OnSysTell() const; protected: wxFFile *m_file; @@ -119,7 +125,7 @@ class WXDLLEXPORT_BASE wxFFileInputStream: public wxInputStream { DECLARE_NO_COPY_CLASS(wxFFileInputStream) }; -class WXDLLEXPORT_BASE wxFFileOutputStream: public wxOutputStream { +class WXDLLIMPEXP_BASE wxFFileOutputStream: public wxOutputStream { public: wxFFileOutputStream(const wxString& fileName); wxFFileOutputStream(wxFFile& file); @@ -131,7 +137,8 @@ class WXDLLEXPORT_BASE wxFFileOutputStream: public wxOutputStream { // { return wxOutputStream::Write(buffer, size); } void Sync(); - size_t GetSize() const; + bool Close() { return m_file_destroy ? m_file->Close() : true; } + wxFileOffset GetLength() const; bool Ok() const { return m_file->IsOpened(); } @@ -139,8 +146,8 @@ class WXDLLEXPORT_BASE wxFFileOutputStream: public wxOutputStream { wxFFileOutputStream(); size_t OnSysWrite(const void *buffer, size_t size); - off_t OnSysSeek(off_t pos, wxSeekMode mode); - off_t OnSysTell() const; + wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode); + wxFileOffset OnSysTell() const; protected: wxFFile *m_file; @@ -149,10 +156,16 @@ class WXDLLEXPORT_BASE wxFFileOutputStream: public wxOutputStream { DECLARE_NO_COPY_CLASS(wxFFileOutputStream) }; -class WXDLLEXPORT_BASE wxFFileStream: public wxFFileInputStream, public wxFFileOutputStream { - public: - wxFFileStream(const wxString& fileName); +class WXDLLIMPEXP_BASE wxFFileStream : public wxFFileInputStream, + public wxFFileOutputStream +{ +public: + wxFFileStream(const wxString& fileName); + +private: + DECLARE_NO_COPY_CLASS(wxFFileStream) }; + #endif // wxUSE_STREAMS && wxUSE_FILE