1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: ZIP file system
4 // Author: Vaclav Slavik
5 // Copyright: (c) 1999 Vaclav Slavik
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
15 #if wxUSE_FILESYSTEM && wxUSE_FS_ZIP && wxUSE_STREAMS
17 #include "wx/filesys.h"
18 #include "wx/hashmap.h"
21 WX_DECLARE_STRING_HASH_MAP(int, wxZipFilenameHashMap
);
24 //---------------------------------------------------------------------------
26 //---------------------------------------------------------------------------
28 class WXDLLIMPEXP_BASE wxZipFSHandler
: public wxFileSystemHandler
32 virtual bool CanOpen(const wxString
& location
);
33 virtual wxFSFile
* OpenFile(wxFileSystem
& fs
, const wxString
& location
);
34 virtual wxString
FindFirst(const wxString
& spec
, int flags
= 0);
35 virtual wxString
FindNext();
36 #if wxABI_VERSION >= 20602 /* 2.6.2+ only */
42 // these vars are used by FindFirst/Next:
43 class wxZipInputStream
*m_Archive
;
44 wxString m_Pattern
, m_BaseDir
, m_ZipFile
;
45 bool m_AllowDirs
, m_AllowFiles
;
46 wxZipFilenameHashMap
*m_DirsFound
;
50 DECLARE_NO_COPY_CLASS(wxZipFSHandler
)
55 // wxUSE_FILESYSTEM && wxUSE_FS_ZIP && wxUSE_STREAMS
57 #endif // _WX_FS_ZIP_H_