]> git.saurik.com Git - wxWidgets.git/blob - include/wx/fs_zip.h
wxX11:
[wxWidgets.git] / include / wx / fs_zip.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: fs_zip.h
3 // Purpose: ZIP file system
4 // Author: Vaclav Slavik
5 // Copyright: (c) 1999 Vaclav Slavik
6 // CVS-ID: $Id$
7 // Licence: wxWindows Licence
8 /////////////////////////////////////////////////////////////////////////////
9
10
11 #ifdef __GNUG__
12 #pragma interface "fs_zip.h"
13 #endif
14
15 #include "wx/wxprec.h"
16
17 #ifdef __BORDLANDC__
18 #pragma hdrstop
19 #endif
20
21 #if wxUSE_FILESYSTEM && wxUSE_FS_ZIP && wxUSE_STREAMS
22
23 #include "wx/filesys.h"
24
25 class WXDLLEXPORT wxHashTableLong;
26
27 //--------------------------------------------------------------------------------
28 // wxZipFSHandler
29 //--------------------------------------------------------------------------------
30
31 class WXDLLEXPORT wxZipFSHandler : public wxFileSystemHandler
32 {
33 public:
34 wxZipFSHandler();
35 virtual bool CanOpen(const wxString& location);
36 virtual wxFSFile* OpenFile(wxFileSystem& fs, const wxString& location);
37 virtual wxString FindFirst(const wxString& spec, int flags = 0);
38 virtual wxString FindNext();
39 ~wxZipFSHandler();
40
41 private:
42 // these vars are used by FindFirst/Next:
43 void *m_Archive;
44 wxString m_Pattern, m_BaseDir, m_ZipFile;
45 bool m_AllowDirs, m_AllowFiles;
46 wxHashTableLong *m_DirsFound;
47
48 wxString DoFind();
49 };
50
51
52 #endif
53 // wxUSE_FILESYSTEM && wxUSE_FS_ZIP && wxUSE_STREAMS
54