1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: ZIP file system
4 // Author: Vaclav Slavik
5 // Copyright: (c) 1999 Vaclav Slavik
7 // Licence: wxWindows Licence
8 /////////////////////////////////////////////////////////////////////////////
13 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
14 #pragma interface "fs_zip.h"
17 #include "wx/wxprec.h"
23 #if wxUSE_FILESYSTEM && wxUSE_FS_ZIP && wxUSE_STREAMS
25 #include "wx/filesys.h"
26 #include "wx/hashmap.h"
28 WX_DECLARE_HASH_MAP_WITH_DECL( long, long, wxIntegerHash
, wxIntegerEqual
,
29 wxLongToLongHashMap
, class WXDLLIMPEXP_BASE
);
31 //---------------------------------------------------------------------------
33 //---------------------------------------------------------------------------
35 class WXDLLIMPEXP_BASE wxZipFSHandler
: public wxFileSystemHandler
39 virtual bool CanOpen(const wxString
& location
);
40 virtual wxFSFile
* OpenFile(wxFileSystem
& fs
, const wxString
& location
);
41 virtual wxString
FindFirst(const wxString
& spec
, int flags
= 0);
42 virtual wxString
FindNext();
46 // these vars are used by FindFirst/Next:
48 wxString m_Pattern
, m_BaseDir
, m_ZipFile
;
49 bool m_AllowDirs
, m_AllowFiles
;
50 wxLongToLongHashMap
*m_DirsFound
;
54 DECLARE_NO_COPY_CLASS(wxZipFSHandler
)
59 // wxUSE_FILESYSTEM && wxUSE_FS_ZIP && wxUSE_STREAMS
61 #endif // _WX_FS_ZIP_H_