X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8c3dbc46b3558a8a1935492f88c1a2a4873ce57e..7d73178688319a42524df406bf50e032bf05a21d:/include/wx/filesys.h diff --git a/include/wx/filesys.h b/include/wx/filesys.h index 27ba3bf2b6..69d4ffd284 100644 --- a/include/wx/filesys.h +++ b/include/wx/filesys.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: filesys.h +// Name: wx/filesys.h // Purpose: class for opening files - virtual file system // Author: Vaclav Slavik // Copyright: (c) 1999 Vaclav Slavik @@ -25,6 +25,7 @@ #include "wx/stream.h" #include "wx/datetime.h" #include "wx/filename.h" +#include "wx/hashmap.h" class WXDLLIMPEXP_BASE wxFSFile; class WXDLLIMPEXP_BASE wxFileSystemHandler; @@ -169,15 +170,16 @@ protected: // Open Bit Flags enum { wxFS_READ = 1, // Open for reading - wxFS_WRITE = 2, // Open for writing wxFS_SEEKABLE = 4 // Returned stream will be seekable }; +WX_DECLARE_VOIDPTR_HASH_MAP_WITH_DECL(wxFileSystemHandler*, wxFSHandlerHash, class WXDLLIMPEXP_BASE); + class WXDLLIMPEXP_BASE wxFileSystem : public wxObject { public: wxFileSystem() : wxObject() { m_FindFileHandler = NULL;} - virtual ~wxFileSystem() { } + virtual ~wxFileSystem(); // sets the current location. Every call to OpenFile is // relative to this location. @@ -226,6 +228,8 @@ public: protected: + wxFileSystemHandler *MakeLocal(wxFileSystemHandler *h); + wxString m_Path; // the path (location) we are currently in // this is path, not file! @@ -237,6 +241,8 @@ protected: // list of FS handlers wxFileSystemHandler *m_FindFileHandler; // handler that succeed in FindFirst query + wxFSHandlerHash m_LocalHandlers; + // Handlers local to this instance DECLARE_DYNAMIC_CLASS(wxFileSystem) DECLARE_NO_COPY_CLASS(wxFileSystem)