X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b5dbe15d0bacde245539f54c4d97af6b4696f01f..d7b468788e860e7e39bb55bb921f757207b6f9fe:/include/wx/filesys.h diff --git a/include/wx/filesys.h b/include/wx/filesys.h index cd2af3bbeb..026fff1f28 100644 --- a/include/wx/filesys.h +++ b/include/wx/filesys.h @@ -12,6 +12,8 @@ #include "wx/defs.h" +#if wxUSE_FILESYSTEM + #if !wxUSE_STREAMS #error You cannot compile virtual file systems without wxUSE_STREAMS #endif @@ -20,8 +22,6 @@ #error You cannot compile wxHTML without virtual file systems #endif -#if wxUSE_FILESYSTEM - #include "wx/stream.h" #include "wx/datetime.h" #include "wx/filename.h" @@ -99,7 +99,7 @@ private: #endif // wxUSE_DATETIME DECLARE_ABSTRACT_CLASS(wxFSFile) - DECLARE_NO_COPY_CLASS(wxFSFile) + wxDECLARE_NO_COPY_CLASS(wxFSFile); }; @@ -168,7 +168,8 @@ protected: //-------------------------------------------------------------------------------- // Open Bit Flags -enum { +enum wxFileSystemOpenFlags +{ wxFS_READ = 1, // Open for reading wxFS_SEEKABLE = 4 // Returned stream will be seekable }; @@ -246,7 +247,7 @@ protected: // Handlers local to this instance DECLARE_DYNAMIC_CLASS(wxFileSystem) - DECLARE_NO_COPY_CLASS(wxFileSystem) + wxDECLARE_NO_COPY_CLASS(wxFileSystem); }; @@ -292,7 +293,20 @@ protected: static wxString ms_root; }; +// Stream reading data from wxFSFile: this allows to use virtual files with any +// wx functions accepting streams. +class WXDLLIMPEXP_BASE wxFSInputStream : public wxWrapperInputStream +{ +public: + // Notice that wxFS_READ is implied in flags. + wxFSInputStream(const wxString& filename, int flags = 0); + virtual ~wxFSInputStream(); +private: + wxFSFile* m_file; + + wxDECLARE_NO_COPY_CLASS(wxFSInputStream); +}; #endif // wxUSE_FILESYSTEM