/////////////////////////////////////////////////////////////////////////////
-// Name: filesys.h
+// Name: wx/filesys.h
// Purpose: class for opening files - virtual file system
// Author: Vaclav Slavik
// Copyright: (c) 1999 Vaclav Slavik
#include "wx/stream.h"
#include "wx/datetime.h"
#include "wx/filename.h"
+#include "wx/hashmap.h"
class WXDLLIMPEXP_BASE wxFSFile;
class WXDLLIMPEXP_BASE wxFileSystemHandler;
// 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.
protected:
+ wxFileSystemHandler *MakeLocal(wxFileSystemHandler *h);
+
wxString m_Path;
// the path (location) we are currently in
// this is path, not file!
// 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)