Add wxArchiveFSHandler.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42544 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
5410f5728d
commit
f068697b46
19
Makefile.in
19
Makefile.in
@ -259,6 +259,7 @@ ALL_BASE_HEADERS = \
|
|||||||
wx/filesys.h \
|
wx/filesys.h \
|
||||||
wx/fontenc.h \
|
wx/fontenc.h \
|
||||||
wx/fontmap.h \
|
wx/fontmap.h \
|
||||||
|
wx/fs_arc.h \
|
||||||
wx/fs_filter.h \
|
wx/fs_filter.h \
|
||||||
wx/fs_mem.h \
|
wx/fs_mem.h \
|
||||||
wx/fs_zip.h \
|
wx/fs_zip.h \
|
||||||
@ -393,6 +394,7 @@ ALL_PORTS_BASE_HEADERS = \
|
|||||||
wx/filesys.h \
|
wx/filesys.h \
|
||||||
wx/fontenc.h \
|
wx/fontenc.h \
|
||||||
wx/fontmap.h \
|
wx/fontmap.h \
|
||||||
|
wx/fs_arc.h \
|
||||||
wx/fs_filter.h \
|
wx/fs_filter.h \
|
||||||
wx/fs_mem.h \
|
wx/fs_mem.h \
|
||||||
wx/fs_zip.h \
|
wx/fs_zip.h \
|
||||||
@ -550,6 +552,7 @@ ALL_BASE_SOURCES = \
|
|||||||
src/common/filtall.cpp \
|
src/common/filtall.cpp \
|
||||||
src/common/filtfind.cpp \
|
src/common/filtfind.cpp \
|
||||||
src/common/fmapbase.cpp \
|
src/common/fmapbase.cpp \
|
||||||
|
src/common/fs_arc.cpp \
|
||||||
src/common/fs_filter.cpp \
|
src/common/fs_filter.cpp \
|
||||||
src/common/fs_zip.cpp \
|
src/common/fs_zip.cpp \
|
||||||
src/common/hash.cpp \
|
src/common/hash.cpp \
|
||||||
@ -705,6 +708,7 @@ MONODLL_OBJECTS = \
|
|||||||
monodll_filtall.o \
|
monodll_filtall.o \
|
||||||
monodll_filtfind.o \
|
monodll_filtfind.o \
|
||||||
monodll_fmapbase.o \
|
monodll_fmapbase.o \
|
||||||
|
monodll_fs_arc.o \
|
||||||
monodll_fs_filter.o \
|
monodll_fs_filter.o \
|
||||||
monodll_fs_zip.o \
|
monodll_fs_zip.o \
|
||||||
monodll_hash.o \
|
monodll_hash.o \
|
||||||
@ -804,6 +808,7 @@ MONOLIB_OBJECTS = \
|
|||||||
monolib_filtall.o \
|
monolib_filtall.o \
|
||||||
monolib_filtfind.o \
|
monolib_filtfind.o \
|
||||||
monolib_fmapbase.o \
|
monolib_fmapbase.o \
|
||||||
|
monolib_fs_arc.o \
|
||||||
monolib_fs_filter.o \
|
monolib_fs_filter.o \
|
||||||
monolib_fs_zip.o \
|
monolib_fs_zip.o \
|
||||||
monolib_hash.o \
|
monolib_hash.o \
|
||||||
@ -905,6 +910,7 @@ BASEDLL_OBJECTS = \
|
|||||||
basedll_filtall.o \
|
basedll_filtall.o \
|
||||||
basedll_filtfind.o \
|
basedll_filtfind.o \
|
||||||
basedll_fmapbase.o \
|
basedll_fmapbase.o \
|
||||||
|
basedll_fs_arc.o \
|
||||||
basedll_fs_filter.o \
|
basedll_fs_filter.o \
|
||||||
basedll_fs_zip.o \
|
basedll_fs_zip.o \
|
||||||
basedll_hash.o \
|
basedll_hash.o \
|
||||||
@ -989,6 +995,7 @@ BASELIB_OBJECTS = \
|
|||||||
baselib_filtall.o \
|
baselib_filtall.o \
|
||||||
baselib_filtfind.o \
|
baselib_filtfind.o \
|
||||||
baselib_fmapbase.o \
|
baselib_fmapbase.o \
|
||||||
|
baselib_fs_arc.o \
|
||||||
baselib_fs_filter.o \
|
baselib_fs_filter.o \
|
||||||
baselib_fs_zip.o \
|
baselib_fs_zip.o \
|
||||||
baselib_hash.o \
|
baselib_hash.o \
|
||||||
@ -12225,6 +12232,9 @@ monodll_filtfind.o: $(srcdir)/src/common/filtfind.cpp $(MONODLL_ODEP)
|
|||||||
monodll_fmapbase.o: $(srcdir)/src/common/fmapbase.cpp $(MONODLL_ODEP)
|
monodll_fmapbase.o: $(srcdir)/src/common/fmapbase.cpp $(MONODLL_ODEP)
|
||||||
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/fmapbase.cpp
|
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/fmapbase.cpp
|
||||||
|
|
||||||
|
monodll_fs_arc.o: $(srcdir)/src/common/fs_arc.cpp $(MONODLL_ODEP)
|
||||||
|
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/fs_arc.cpp
|
||||||
|
|
||||||
monodll_fs_filter.o: $(srcdir)/src/common/fs_filter.cpp $(MONODLL_ODEP)
|
monodll_fs_filter.o: $(srcdir)/src/common/fs_filter.cpp $(MONODLL_ODEP)
|
||||||
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/fs_filter.cpp
|
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/fs_filter.cpp
|
||||||
|
|
||||||
@ -16317,6 +16327,9 @@ monolib_filtfind.o: $(srcdir)/src/common/filtfind.cpp $(MONOLIB_ODEP)
|
|||||||
monolib_fmapbase.o: $(srcdir)/src/common/fmapbase.cpp $(MONOLIB_ODEP)
|
monolib_fmapbase.o: $(srcdir)/src/common/fmapbase.cpp $(MONOLIB_ODEP)
|
||||||
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/fmapbase.cpp
|
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/fmapbase.cpp
|
||||||
|
|
||||||
|
monolib_fs_arc.o: $(srcdir)/src/common/fs_arc.cpp $(MONOLIB_ODEP)
|
||||||
|
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/fs_arc.cpp
|
||||||
|
|
||||||
monolib_fs_filter.o: $(srcdir)/src/common/fs_filter.cpp $(MONOLIB_ODEP)
|
monolib_fs_filter.o: $(srcdir)/src/common/fs_filter.cpp $(MONOLIB_ODEP)
|
||||||
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/fs_filter.cpp
|
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/fs_filter.cpp
|
||||||
|
|
||||||
@ -20412,6 +20425,9 @@ basedll_filtfind.o: $(srcdir)/src/common/filtfind.cpp $(BASEDLL_ODEP)
|
|||||||
basedll_fmapbase.o: $(srcdir)/src/common/fmapbase.cpp $(BASEDLL_ODEP)
|
basedll_fmapbase.o: $(srcdir)/src/common/fmapbase.cpp $(BASEDLL_ODEP)
|
||||||
$(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/fmapbase.cpp
|
$(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/fmapbase.cpp
|
||||||
|
|
||||||
|
basedll_fs_arc.o: $(srcdir)/src/common/fs_arc.cpp $(BASEDLL_ODEP)
|
||||||
|
$(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/fs_arc.cpp
|
||||||
|
|
||||||
basedll_fs_filter.o: $(srcdir)/src/common/fs_filter.cpp $(BASEDLL_ODEP)
|
basedll_fs_filter.o: $(srcdir)/src/common/fs_filter.cpp $(BASEDLL_ODEP)
|
||||||
$(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/fs_filter.cpp
|
$(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/fs_filter.cpp
|
||||||
|
|
||||||
@ -20997,6 +21013,9 @@ baselib_filtfind.o: $(srcdir)/src/common/filtfind.cpp $(BASELIB_ODEP)
|
|||||||
baselib_fmapbase.o: $(srcdir)/src/common/fmapbase.cpp $(BASELIB_ODEP)
|
baselib_fmapbase.o: $(srcdir)/src/common/fmapbase.cpp $(BASELIB_ODEP)
|
||||||
$(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/fmapbase.cpp
|
$(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/fmapbase.cpp
|
||||||
|
|
||||||
|
baselib_fs_arc.o: $(srcdir)/src/common/fs_arc.cpp $(BASELIB_ODEP)
|
||||||
|
$(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/fs_arc.cpp
|
||||||
|
|
||||||
baselib_fs_filter.o: $(srcdir)/src/common/fs_filter.cpp $(BASELIB_ODEP)
|
baselib_fs_filter.o: $(srcdir)/src/common/fs_filter.cpp $(BASELIB_ODEP)
|
||||||
$(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/fs_filter.cpp
|
$(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/fs_filter.cpp
|
||||||
|
|
||||||
|
@ -314,6 +314,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
|||||||
src/common/filtall.cpp
|
src/common/filtall.cpp
|
||||||
src/common/filtfind.cpp
|
src/common/filtfind.cpp
|
||||||
src/common/fmapbase.cpp
|
src/common/fmapbase.cpp
|
||||||
|
src/common/fs_arc.cpp
|
||||||
src/common/fs_filter.cpp
|
src/common/fs_filter.cpp
|
||||||
src/common/fs_zip.cpp
|
src/common/fs_zip.cpp
|
||||||
src/common/hash.cpp
|
src/common/hash.cpp
|
||||||
@ -401,6 +402,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
|||||||
wx/filesys.h
|
wx/filesys.h
|
||||||
wx/fontenc.h
|
wx/fontenc.h
|
||||||
wx/fontmap.h
|
wx/fontmap.h
|
||||||
|
wx/fs_arc.h
|
||||||
wx/fs_filter.h
|
wx/fs_filter.h
|
||||||
wx/fs_mem.h
|
wx/fs_mem.h
|
||||||
wx/fs_zip.h
|
wx/fs_zip.h
|
||||||
|
@ -228,6 +228,7 @@ MONODLL_OBJECTS = \
|
|||||||
$(OBJS)\monodll_filtall.obj \
|
$(OBJS)\monodll_filtall.obj \
|
||||||
$(OBJS)\monodll_filtfind.obj \
|
$(OBJS)\monodll_filtfind.obj \
|
||||||
$(OBJS)\monodll_fmapbase.obj \
|
$(OBJS)\monodll_fmapbase.obj \
|
||||||
|
$(OBJS)\monodll_fs_arc.obj \
|
||||||
$(OBJS)\monodll_fs_filter.obj \
|
$(OBJS)\monodll_fs_filter.obj \
|
||||||
$(OBJS)\monodll_fs_zip.obj \
|
$(OBJS)\monodll_fs_zip.obj \
|
||||||
$(OBJS)\monodll_hash.obj \
|
$(OBJS)\monodll_hash.obj \
|
||||||
@ -348,6 +349,7 @@ MONOLIB_OBJECTS = \
|
|||||||
$(OBJS)\monolib_filtall.obj \
|
$(OBJS)\monolib_filtall.obj \
|
||||||
$(OBJS)\monolib_filtfind.obj \
|
$(OBJS)\monolib_filtfind.obj \
|
||||||
$(OBJS)\monolib_fmapbase.obj \
|
$(OBJS)\monolib_fmapbase.obj \
|
||||||
|
$(OBJS)\monolib_fs_arc.obj \
|
||||||
$(OBJS)\monolib_fs_filter.obj \
|
$(OBJS)\monolib_fs_filter.obj \
|
||||||
$(OBJS)\monolib_fs_zip.obj \
|
$(OBJS)\monolib_fs_zip.obj \
|
||||||
$(OBJS)\monolib_hash.obj \
|
$(OBJS)\monolib_hash.obj \
|
||||||
@ -469,6 +471,7 @@ BASEDLL_OBJECTS = \
|
|||||||
$(OBJS)\basedll_filtall.obj \
|
$(OBJS)\basedll_filtall.obj \
|
||||||
$(OBJS)\basedll_filtfind.obj \
|
$(OBJS)\basedll_filtfind.obj \
|
||||||
$(OBJS)\basedll_fmapbase.obj \
|
$(OBJS)\basedll_fmapbase.obj \
|
||||||
|
$(OBJS)\basedll_fs_arc.obj \
|
||||||
$(OBJS)\basedll_fs_filter.obj \
|
$(OBJS)\basedll_fs_filter.obj \
|
||||||
$(OBJS)\basedll_fs_zip.obj \
|
$(OBJS)\basedll_fs_zip.obj \
|
||||||
$(OBJS)\basedll_hash.obj \
|
$(OBJS)\basedll_hash.obj \
|
||||||
@ -574,6 +577,7 @@ BASELIB_OBJECTS = \
|
|||||||
$(OBJS)\baselib_filtall.obj \
|
$(OBJS)\baselib_filtall.obj \
|
||||||
$(OBJS)\baselib_filtfind.obj \
|
$(OBJS)\baselib_filtfind.obj \
|
||||||
$(OBJS)\baselib_fmapbase.obj \
|
$(OBJS)\baselib_fmapbase.obj \
|
||||||
|
$(OBJS)\baselib_fs_arc.obj \
|
||||||
$(OBJS)\baselib_fs_filter.obj \
|
$(OBJS)\baselib_fs_filter.obj \
|
||||||
$(OBJS)\baselib_fs_zip.obj \
|
$(OBJS)\baselib_fs_zip.obj \
|
||||||
$(OBJS)\baselib_hash.obj \
|
$(OBJS)\baselib_hash.obj \
|
||||||
@ -4575,6 +4579,9 @@ $(OBJS)\monodll_filtfind.obj: ..\..\src\common\filtfind.cpp
|
|||||||
$(OBJS)\monodll_fmapbase.obj: ..\..\src\common\fmapbase.cpp
|
$(OBJS)\monodll_fmapbase.obj: ..\..\src\common\fmapbase.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\monodll_fs_arc.obj: ..\..\src\common\fs_arc.cpp
|
||||||
|
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\monodll_fs_filter.obj: ..\..\src\common\fs_filter.cpp
|
$(OBJS)\monodll_fs_filter.obj: ..\..\src\common\fs_filter.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
||||||
|
|
||||||
@ -6551,6 +6558,9 @@ $(OBJS)\monolib_filtfind.obj: ..\..\src\common\filtfind.cpp
|
|||||||
$(OBJS)\monolib_fmapbase.obj: ..\..\src\common\fmapbase.cpp
|
$(OBJS)\monolib_fmapbase.obj: ..\..\src\common\fmapbase.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\monolib_fs_arc.obj: ..\..\src\common\fs_arc.cpp
|
||||||
|
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\monolib_fs_filter.obj: ..\..\src\common\fs_filter.cpp
|
$(OBJS)\monolib_fs_filter.obj: ..\..\src\common\fs_filter.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
|
|
||||||
@ -8530,6 +8540,9 @@ $(OBJS)\basedll_filtfind.obj: ..\..\src\common\filtfind.cpp
|
|||||||
$(OBJS)\basedll_fmapbase.obj: ..\..\src\common\fmapbase.cpp
|
$(OBJS)\basedll_fmapbase.obj: ..\..\src\common\fmapbase.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\basedll_fs_arc.obj: ..\..\src\common\fs_arc.cpp
|
||||||
|
$(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\basedll_fs_filter.obj: ..\..\src\common\fs_filter.cpp
|
$(OBJS)\basedll_fs_filter.obj: ..\..\src\common\fs_filter.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) $**
|
||||||
|
|
||||||
@ -8797,6 +8810,9 @@ $(OBJS)\baselib_filtfind.obj: ..\..\src\common\filtfind.cpp
|
|||||||
$(OBJS)\baselib_fmapbase.obj: ..\..\src\common\fmapbase.cpp
|
$(OBJS)\baselib_fmapbase.obj: ..\..\src\common\fmapbase.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\baselib_fs_arc.obj: ..\..\src\common\fs_arc.cpp
|
||||||
|
$(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\baselib_fs_filter.obj: ..\..\src\common\fs_filter.cpp
|
$(OBJS)\baselib_fs_filter.obj: ..\..\src\common\fs_filter.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) $**
|
||||||
|
|
||||||
|
@ -214,6 +214,7 @@ MONODLL_OBJECTS = \
|
|||||||
$(OBJS)\monodll_filtall.o \
|
$(OBJS)\monodll_filtall.o \
|
||||||
$(OBJS)\monodll_filtfind.o \
|
$(OBJS)\monodll_filtfind.o \
|
||||||
$(OBJS)\monodll_fmapbase.o \
|
$(OBJS)\monodll_fmapbase.o \
|
||||||
|
$(OBJS)\monodll_fs_arc.o \
|
||||||
$(OBJS)\monodll_fs_filter.o \
|
$(OBJS)\monodll_fs_filter.o \
|
||||||
$(OBJS)\monodll_fs_zip.o \
|
$(OBJS)\monodll_fs_zip.o \
|
||||||
$(OBJS)\monodll_hash.o \
|
$(OBJS)\monodll_hash.o \
|
||||||
@ -334,6 +335,7 @@ MONOLIB_OBJECTS = \
|
|||||||
$(OBJS)\monolib_filtall.o \
|
$(OBJS)\monolib_filtall.o \
|
||||||
$(OBJS)\monolib_filtfind.o \
|
$(OBJS)\monolib_filtfind.o \
|
||||||
$(OBJS)\monolib_fmapbase.o \
|
$(OBJS)\monolib_fmapbase.o \
|
||||||
|
$(OBJS)\monolib_fs_arc.o \
|
||||||
$(OBJS)\monolib_fs_filter.o \
|
$(OBJS)\monolib_fs_filter.o \
|
||||||
$(OBJS)\monolib_fs_zip.o \
|
$(OBJS)\monolib_fs_zip.o \
|
||||||
$(OBJS)\monolib_hash.o \
|
$(OBJS)\monolib_hash.o \
|
||||||
@ -456,6 +458,7 @@ BASEDLL_OBJECTS = \
|
|||||||
$(OBJS)\basedll_filtall.o \
|
$(OBJS)\basedll_filtall.o \
|
||||||
$(OBJS)\basedll_filtfind.o \
|
$(OBJS)\basedll_filtfind.o \
|
||||||
$(OBJS)\basedll_fmapbase.o \
|
$(OBJS)\basedll_fmapbase.o \
|
||||||
|
$(OBJS)\basedll_fs_arc.o \
|
||||||
$(OBJS)\basedll_fs_filter.o \
|
$(OBJS)\basedll_fs_filter.o \
|
||||||
$(OBJS)\basedll_fs_zip.o \
|
$(OBJS)\basedll_fs_zip.o \
|
||||||
$(OBJS)\basedll_hash.o \
|
$(OBJS)\basedll_hash.o \
|
||||||
@ -561,6 +564,7 @@ BASELIB_OBJECTS = \
|
|||||||
$(OBJS)\baselib_filtall.o \
|
$(OBJS)\baselib_filtall.o \
|
||||||
$(OBJS)\baselib_filtfind.o \
|
$(OBJS)\baselib_filtfind.o \
|
||||||
$(OBJS)\baselib_fmapbase.o \
|
$(OBJS)\baselib_fmapbase.o \
|
||||||
|
$(OBJS)\baselib_fs_arc.o \
|
||||||
$(OBJS)\baselib_fs_filter.o \
|
$(OBJS)\baselib_fs_filter.o \
|
||||||
$(OBJS)\baselib_fs_zip.o \
|
$(OBJS)\baselib_fs_zip.o \
|
||||||
$(OBJS)\baselib_hash.o \
|
$(OBJS)\baselib_hash.o \
|
||||||
@ -4692,6 +4696,9 @@ $(OBJS)\monodll_filtfind.o: ../../src/common/filtfind.cpp
|
|||||||
$(OBJS)\monodll_fmapbase.o: ../../src/common/fmapbase.cpp
|
$(OBJS)\monodll_fmapbase.o: ../../src/common/fmapbase.cpp
|
||||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
$(OBJS)\monodll_fs_arc.o: ../../src/common/fs_arc.cpp
|
||||||
|
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
$(OBJS)\monodll_fs_filter.o: ../../src/common/fs_filter.cpp
|
$(OBJS)\monodll_fs_filter.o: ../../src/common/fs_filter.cpp
|
||||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
@ -6768,6 +6775,9 @@ $(OBJS)\monolib_filtfind.o: ../../src/common/filtfind.cpp
|
|||||||
$(OBJS)\monolib_fmapbase.o: ../../src/common/fmapbase.cpp
|
$(OBJS)\monolib_fmapbase.o: ../../src/common/fmapbase.cpp
|
||||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
$(OBJS)\monolib_fs_arc.o: ../../src/common/fs_arc.cpp
|
||||||
|
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
$(OBJS)\monolib_fs_filter.o: ../../src/common/fs_filter.cpp
|
$(OBJS)\monolib_fs_filter.o: ../../src/common/fs_filter.cpp
|
||||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
@ -8847,6 +8857,9 @@ $(OBJS)\basedll_filtfind.o: ../../src/common/filtfind.cpp
|
|||||||
$(OBJS)\basedll_fmapbase.o: ../../src/common/fmapbase.cpp
|
$(OBJS)\basedll_fmapbase.o: ../../src/common/fmapbase.cpp
|
||||||
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
$(OBJS)\basedll_fs_arc.o: ../../src/common/fs_arc.cpp
|
||||||
|
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
$(OBJS)\basedll_fs_filter.o: ../../src/common/fs_filter.cpp
|
$(OBJS)\basedll_fs_filter.o: ../../src/common/fs_filter.cpp
|
||||||
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
@ -9114,6 +9127,9 @@ $(OBJS)\baselib_filtfind.o: ../../src/common/filtfind.cpp
|
|||||||
$(OBJS)\baselib_fmapbase.o: ../../src/common/fmapbase.cpp
|
$(OBJS)\baselib_fmapbase.o: ../../src/common/fmapbase.cpp
|
||||||
$(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
$(OBJS)\baselib_fs_arc.o: ../../src/common/fs_arc.cpp
|
||||||
|
$(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
$(OBJS)\baselib_fs_filter.o: ../../src/common/fs_filter.cpp
|
$(OBJS)\baselib_fs_filter.o: ../../src/common/fs_filter.cpp
|
||||||
$(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
@ -229,6 +229,7 @@ MONODLL_OBJECTS = \
|
|||||||
$(OBJS)\monodll_filtall.obj \
|
$(OBJS)\monodll_filtall.obj \
|
||||||
$(OBJS)\monodll_filtfind.obj \
|
$(OBJS)\monodll_filtfind.obj \
|
||||||
$(OBJS)\monodll_fmapbase.obj \
|
$(OBJS)\monodll_fmapbase.obj \
|
||||||
|
$(OBJS)\monodll_fs_arc.obj \
|
||||||
$(OBJS)\monodll_fs_filter.obj \
|
$(OBJS)\monodll_fs_filter.obj \
|
||||||
$(OBJS)\monodll_fs_zip.obj \
|
$(OBJS)\monodll_fs_zip.obj \
|
||||||
$(OBJS)\monodll_hash.obj \
|
$(OBJS)\monodll_hash.obj \
|
||||||
@ -354,6 +355,7 @@ MONOLIB_OBJECTS = \
|
|||||||
$(OBJS)\monolib_filtall.obj \
|
$(OBJS)\monolib_filtall.obj \
|
||||||
$(OBJS)\monolib_filtfind.obj \
|
$(OBJS)\monolib_filtfind.obj \
|
||||||
$(OBJS)\monolib_fmapbase.obj \
|
$(OBJS)\monolib_fmapbase.obj \
|
||||||
|
$(OBJS)\monolib_fs_arc.obj \
|
||||||
$(OBJS)\monolib_fs_filter.obj \
|
$(OBJS)\monolib_fs_filter.obj \
|
||||||
$(OBJS)\monolib_fs_zip.obj \
|
$(OBJS)\monolib_fs_zip.obj \
|
||||||
$(OBJS)\monolib_hash.obj \
|
$(OBJS)\monolib_hash.obj \
|
||||||
@ -481,6 +483,7 @@ BASEDLL_OBJECTS = \
|
|||||||
$(OBJS)\basedll_filtall.obj \
|
$(OBJS)\basedll_filtall.obj \
|
||||||
$(OBJS)\basedll_filtfind.obj \
|
$(OBJS)\basedll_filtfind.obj \
|
||||||
$(OBJS)\basedll_fmapbase.obj \
|
$(OBJS)\basedll_fmapbase.obj \
|
||||||
|
$(OBJS)\basedll_fs_arc.obj \
|
||||||
$(OBJS)\basedll_fs_filter.obj \
|
$(OBJS)\basedll_fs_filter.obj \
|
||||||
$(OBJS)\basedll_fs_zip.obj \
|
$(OBJS)\basedll_fs_zip.obj \
|
||||||
$(OBJS)\basedll_hash.obj \
|
$(OBJS)\basedll_hash.obj \
|
||||||
@ -592,6 +595,7 @@ BASELIB_OBJECTS = \
|
|||||||
$(OBJS)\baselib_filtall.obj \
|
$(OBJS)\baselib_filtall.obj \
|
||||||
$(OBJS)\baselib_filtfind.obj \
|
$(OBJS)\baselib_filtfind.obj \
|
||||||
$(OBJS)\baselib_fmapbase.obj \
|
$(OBJS)\baselib_fmapbase.obj \
|
||||||
|
$(OBJS)\baselib_fs_arc.obj \
|
||||||
$(OBJS)\baselib_fs_filter.obj \
|
$(OBJS)\baselib_fs_filter.obj \
|
||||||
$(OBJS)\baselib_fs_zip.obj \
|
$(OBJS)\baselib_fs_zip.obj \
|
||||||
$(OBJS)\baselib_hash.obj \
|
$(OBJS)\baselib_hash.obj \
|
||||||
@ -4908,6 +4912,9 @@ $(OBJS)\monodll_filtfind.obj: ..\..\src\common\filtfind.cpp
|
|||||||
$(OBJS)\monodll_fmapbase.obj: ..\..\src\common\fmapbase.cpp
|
$(OBJS)\monodll_fmapbase.obj: ..\..\src\common\fmapbase.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\monodll_fs_arc.obj: ..\..\src\common\fs_arc.cpp
|
||||||
|
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\monodll_fs_filter.obj: ..\..\src\common\fs_filter.cpp
|
$(OBJS)\monodll_fs_filter.obj: ..\..\src\common\fs_filter.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
||||||
|
|
||||||
@ -6884,6 +6891,9 @@ $(OBJS)\monolib_filtfind.obj: ..\..\src\common\filtfind.cpp
|
|||||||
$(OBJS)\monolib_fmapbase.obj: ..\..\src\common\fmapbase.cpp
|
$(OBJS)\monolib_fmapbase.obj: ..\..\src\common\fmapbase.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\monolib_fs_arc.obj: ..\..\src\common\fs_arc.cpp
|
||||||
|
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\monolib_fs_filter.obj: ..\..\src\common\fs_filter.cpp
|
$(OBJS)\monolib_fs_filter.obj: ..\..\src\common\fs_filter.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
|
|
||||||
@ -8863,6 +8873,9 @@ $(OBJS)\basedll_filtfind.obj: ..\..\src\common\filtfind.cpp
|
|||||||
$(OBJS)\basedll_fmapbase.obj: ..\..\src\common\fmapbase.cpp
|
$(OBJS)\basedll_fmapbase.obj: ..\..\src\common\fmapbase.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\basedll_fs_arc.obj: ..\..\src\common\fs_arc.cpp
|
||||||
|
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\basedll_fs_filter.obj: ..\..\src\common\fs_filter.cpp
|
$(OBJS)\basedll_fs_filter.obj: ..\..\src\common\fs_filter.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) $**
|
||||||
|
|
||||||
@ -9130,6 +9143,9 @@ $(OBJS)\baselib_filtfind.obj: ..\..\src\common\filtfind.cpp
|
|||||||
$(OBJS)\baselib_fmapbase.obj: ..\..\src\common\fmapbase.cpp
|
$(OBJS)\baselib_fmapbase.obj: ..\..\src\common\fmapbase.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\baselib_fs_arc.obj: ..\..\src\common\fs_arc.cpp
|
||||||
|
$(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\baselib_fs_filter.obj: ..\..\src\common\fs_filter.cpp
|
$(OBJS)\baselib_fs_filter.obj: ..\..\src\common\fs_filter.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) $**
|
||||||
|
|
||||||
|
@ -2933,6 +2933,7 @@ MONODLL_OBJECTS = &
|
|||||||
$(OBJS)\monodll_filtall.obj &
|
$(OBJS)\monodll_filtall.obj &
|
||||||
$(OBJS)\monodll_filtfind.obj &
|
$(OBJS)\monodll_filtfind.obj &
|
||||||
$(OBJS)\monodll_fmapbase.obj &
|
$(OBJS)\monodll_fmapbase.obj &
|
||||||
|
$(OBJS)\monodll_fs_arc.obj &
|
||||||
$(OBJS)\monodll_fs_filter.obj &
|
$(OBJS)\monodll_fs_filter.obj &
|
||||||
$(OBJS)\monodll_fs_zip.obj &
|
$(OBJS)\monodll_fs_zip.obj &
|
||||||
$(OBJS)\monodll_hash.obj &
|
$(OBJS)\monodll_hash.obj &
|
||||||
@ -3053,6 +3054,7 @@ MONOLIB_OBJECTS = &
|
|||||||
$(OBJS)\monolib_filtall.obj &
|
$(OBJS)\monolib_filtall.obj &
|
||||||
$(OBJS)\monolib_filtfind.obj &
|
$(OBJS)\monolib_filtfind.obj &
|
||||||
$(OBJS)\monolib_fmapbase.obj &
|
$(OBJS)\monolib_fmapbase.obj &
|
||||||
|
$(OBJS)\monolib_fs_arc.obj &
|
||||||
$(OBJS)\monolib_fs_filter.obj &
|
$(OBJS)\monolib_fs_filter.obj &
|
||||||
$(OBJS)\monolib_fs_zip.obj &
|
$(OBJS)\monolib_fs_zip.obj &
|
||||||
$(OBJS)\monolib_hash.obj &
|
$(OBJS)\monolib_hash.obj &
|
||||||
@ -3175,6 +3177,7 @@ BASEDLL_OBJECTS = &
|
|||||||
$(OBJS)\basedll_filtall.obj &
|
$(OBJS)\basedll_filtall.obj &
|
||||||
$(OBJS)\basedll_filtfind.obj &
|
$(OBJS)\basedll_filtfind.obj &
|
||||||
$(OBJS)\basedll_fmapbase.obj &
|
$(OBJS)\basedll_fmapbase.obj &
|
||||||
|
$(OBJS)\basedll_fs_arc.obj &
|
||||||
$(OBJS)\basedll_fs_filter.obj &
|
$(OBJS)\basedll_fs_filter.obj &
|
||||||
$(OBJS)\basedll_fs_zip.obj &
|
$(OBJS)\basedll_fs_zip.obj &
|
||||||
$(OBJS)\basedll_hash.obj &
|
$(OBJS)\basedll_hash.obj &
|
||||||
@ -3281,6 +3284,7 @@ BASELIB_OBJECTS = &
|
|||||||
$(OBJS)\baselib_filtall.obj &
|
$(OBJS)\baselib_filtall.obj &
|
||||||
$(OBJS)\baselib_filtfind.obj &
|
$(OBJS)\baselib_filtfind.obj &
|
||||||
$(OBJS)\baselib_fmapbase.obj &
|
$(OBJS)\baselib_fmapbase.obj &
|
||||||
|
$(OBJS)\baselib_fs_arc.obj &
|
||||||
$(OBJS)\baselib_fs_filter.obj &
|
$(OBJS)\baselib_fs_filter.obj &
|
||||||
$(OBJS)\baselib_fs_zip.obj &
|
$(OBJS)\baselib_fs_zip.obj &
|
||||||
$(OBJS)\baselib_hash.obj &
|
$(OBJS)\baselib_hash.obj &
|
||||||
@ -4920,6 +4924,9 @@ $(OBJS)\monodll_filtfind.obj : .AUTODEPEND ..\..\src\common\filtfind.cpp
|
|||||||
$(OBJS)\monodll_fmapbase.obj : .AUTODEPEND ..\..\src\common\fmapbase.cpp
|
$(OBJS)\monodll_fmapbase.obj : .AUTODEPEND ..\..\src\common\fmapbase.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||||
|
|
||||||
|
$(OBJS)\monodll_fs_arc.obj : .AUTODEPEND ..\..\src\common\fs_arc.cpp
|
||||||
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||||
|
|
||||||
$(OBJS)\monodll_fs_filter.obj : .AUTODEPEND ..\..\src\common\fs_filter.cpp
|
$(OBJS)\monodll_fs_filter.obj : .AUTODEPEND ..\..\src\common\fs_filter.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||||
|
|
||||||
@ -6996,6 +7003,9 @@ $(OBJS)\monolib_filtfind.obj : .AUTODEPEND ..\..\src\common\filtfind.cpp
|
|||||||
$(OBJS)\monolib_fmapbase.obj : .AUTODEPEND ..\..\src\common\fmapbase.cpp
|
$(OBJS)\monolib_fmapbase.obj : .AUTODEPEND ..\..\src\common\fmapbase.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||||
|
|
||||||
|
$(OBJS)\monolib_fs_arc.obj : .AUTODEPEND ..\..\src\common\fs_arc.cpp
|
||||||
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||||
|
|
||||||
$(OBJS)\monolib_fs_filter.obj : .AUTODEPEND ..\..\src\common\fs_filter.cpp
|
$(OBJS)\monolib_fs_filter.obj : .AUTODEPEND ..\..\src\common\fs_filter.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||||
|
|
||||||
@ -9075,6 +9085,9 @@ $(OBJS)\basedll_filtfind.obj : .AUTODEPEND ..\..\src\common\filtfind.cpp
|
|||||||
$(OBJS)\basedll_fmapbase.obj : .AUTODEPEND ..\..\src\common\fmapbase.cpp
|
$(OBJS)\basedll_fmapbase.obj : .AUTODEPEND ..\..\src\common\fmapbase.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<
|
||||||
|
|
||||||
|
$(OBJS)\basedll_fs_arc.obj : .AUTODEPEND ..\..\src\common\fs_arc.cpp
|
||||||
|
$(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<
|
||||||
|
|
||||||
$(OBJS)\basedll_fs_filter.obj : .AUTODEPEND ..\..\src\common\fs_filter.cpp
|
$(OBJS)\basedll_fs_filter.obj : .AUTODEPEND ..\..\src\common\fs_filter.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<
|
||||||
|
|
||||||
@ -9342,6 +9355,9 @@ $(OBJS)\baselib_filtfind.obj : .AUTODEPEND ..\..\src\common\filtfind.cpp
|
|||||||
$(OBJS)\baselib_fmapbase.obj : .AUTODEPEND ..\..\src\common\fmapbase.cpp
|
$(OBJS)\baselib_fmapbase.obj : .AUTODEPEND ..\..\src\common\fmapbase.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<
|
||||||
|
|
||||||
|
$(OBJS)\baselib_fs_arc.obj : .AUTODEPEND ..\..\src\common\fs_arc.cpp
|
||||||
|
$(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<
|
||||||
|
|
||||||
$(OBJS)\baselib_fs_filter.obj : .AUTODEPEND ..\..\src\common\fs_filter.cpp
|
$(OBJS)\baselib_fs_filter.obj : .AUTODEPEND ..\..\src\common\fs_filter.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<
|
||||||
|
|
||||||
|
@ -567,6 +567,10 @@ SOURCE=..\..\src\common\fmapbase.cpp
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\common\fs_arc.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\src\common\fs_filter.cpp
|
SOURCE=..\..\src\common\fs_filter.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
@ -1555,6 +1559,10 @@ SOURCE=..\..\include\wx\fontmap.h
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\include\wx\fs_arc.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\include\wx\fs_filter.h
|
SOURCE=..\..\include\wx\fs_filter.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
@ -69,7 +69,8 @@ All:
|
|||||||
- Added wxFFile overload to wxFileName::CreateTemporaryFileName().
|
- Added wxFFile overload to wxFileName::CreateTemporaryFileName().
|
||||||
- Added wxBackingFile and wxBackedInputStream.
|
- Added wxBackingFile and wxBackedInputStream.
|
||||||
- Added GetTempDir() to wxFileName and wxStandardPaths.
|
- Added GetTempDir() to wxFileName and wxStandardPaths.
|
||||||
- Added wxFilterFSHandler.
|
- Added wxTar streams.
|
||||||
|
- Added wxFilterFSHandler and wxArchiveFSHandler.
|
||||||
|
|
||||||
All (GUI):
|
All (GUI):
|
||||||
|
|
||||||
|
@ -1,56 +1,56 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: fs_zip.h
|
// Name: fs_arc.h
|
||||||
// Purpose: ZIP file system
|
// Purpose: Archive file system
|
||||||
// Author: Vaclav Slavik
|
// Author: Vaclav Slavik, Mike Wetherell
|
||||||
// Copyright: (c) 1999 Vaclav Slavik
|
// Copyright: (c) 1999 Vaclav Slavik, (c) 2006 Mike Wetherell
|
||||||
// CVS-ID: $Id$
|
// CVS-ID: $Id$
|
||||||
// Licence: wxWindows licence
|
// Licence: wxWindows licence
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef _WX_FS_ZIP_H_
|
#ifndef _WX_FS_ARC_H_
|
||||||
#define _WX_FS_ZIP_H_
|
#define _WX_FS_ARC_H_
|
||||||
|
|
||||||
#include "wx/defs.h"
|
#include "wx/defs.h"
|
||||||
|
|
||||||
#if wxUSE_FILESYSTEM && wxUSE_FS_ZIP && wxUSE_STREAMS
|
#if wxUSE_FS_ARCHIVE
|
||||||
|
|
||||||
#include "wx/filesys.h"
|
#include "wx/filesys.h"
|
||||||
#include "wx/hashmap.h"
|
#include "wx/hashmap.h"
|
||||||
|
|
||||||
|
WX_DECLARE_STRING_HASH_MAP(int, wxArchiveFilenameHashMap);
|
||||||
WX_DECLARE_STRING_HASH_MAP(int, wxZipFilenameHashMap);
|
|
||||||
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
// wxZipFSHandler
|
// wxArchiveFSHandler
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
class WXDLLIMPEXP_BASE wxZipFSHandler : public wxFileSystemHandler
|
class WXDLLIMPEXP_BASE wxArchiveFSHandler : public wxFileSystemHandler
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
wxZipFSHandler();
|
wxArchiveFSHandler();
|
||||||
virtual bool CanOpen(const wxString& location);
|
virtual bool CanOpen(const wxString& location);
|
||||||
virtual wxFSFile* OpenFile(wxFileSystem& fs, const wxString& location);
|
virtual wxFSFile* OpenFile(wxFileSystem& fs, const wxString& location);
|
||||||
virtual wxString FindFirst(const wxString& spec, int flags = 0);
|
virtual wxString FindFirst(const wxString& spec, int flags = 0);
|
||||||
virtual wxString FindNext();
|
virtual wxString FindNext();
|
||||||
void Cleanup();
|
void Cleanup();
|
||||||
virtual ~wxZipFSHandler();
|
virtual ~wxArchiveFSHandler();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// these vars are used by FindFirst/Next:
|
class wxArchiveFSCache *m_cache;
|
||||||
class wxZipInputStream *m_Archive;
|
wxFileSystem m_fs;
|
||||||
wxString m_Pattern, m_BaseDir, m_ZipFile;
|
|
||||||
bool m_AllowDirs, m_AllowFiles;
|
|
||||||
wxZipFilenameHashMap *m_DirsFound;
|
|
||||||
|
|
||||||
wxString DoFind();
|
// these vars are used by FindFirst/Next:
|
||||||
|
class wxArchiveFSCacheData *m_Archive;
|
||||||
|
class wxArchiveFSEntry *m_FindEntry;
|
||||||
|
wxString m_Pattern, m_BaseDir, m_ZipFile;
|
||||||
|
bool m_AllowDirs, m_AllowFiles;
|
||||||
|
wxArchiveFilenameHashMap *m_DirsFound;
|
||||||
|
|
||||||
DECLARE_NO_COPY_CLASS(wxZipFSHandler)
|
wxString DoFind();
|
||||||
|
|
||||||
|
DECLARE_NO_COPY_CLASS(wxArchiveFSHandler)
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxArchiveFSHandler)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#endif // wxUSE_FS_ARCHIVE
|
||||||
|
|
||||||
#endif
|
#endif // _WX_FS_ARC_H_
|
||||||
// wxUSE_FILESYSTEM && wxUSE_FS_ZIP && wxUSE_STREAMS
|
|
||||||
|
|
||||||
#endif // _WX_FS_ZIP_H_
|
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: fs_zip.cpp
|
// Name: fs_arc.cpp
|
||||||
// Purpose: ZIP file system
|
// Purpose: wxArchive file system
|
||||||
// Author: Vaclav Slavik
|
// Author: Vaclav Slavik, Mike Wetherell
|
||||||
// Copyright: (c) 1999 Vaclav Slavik
|
// Copyright: (c) 1999 Vaclav Slavik, (c) 2006 Mike Wetherell
|
||||||
// CVS-ID: $Id$
|
// CVS-ID: $Id$
|
||||||
// Licence: wxWindows licence
|
// Licence: wxWindows licence
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
@ -13,82 +13,340 @@
|
|||||||
#pragma hdrstop
|
#pragma hdrstop
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if wxUSE_FILESYSTEM && wxUSE_FS_ZIP && wxUSE_ZIPSTREAM && wxUSE_ZLIB
|
#if wxUSE_FS_ARCHIVE
|
||||||
|
|
||||||
|
#include "wx/fs_arc.h"
|
||||||
|
|
||||||
#ifndef WXPRECOMP
|
#ifndef WXPRECOMP
|
||||||
#include "wx/intl.h"
|
#include "wx/intl.h"
|
||||||
#include "wx/log.h"
|
#include "wx/log.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "wx/filesys.h"
|
#include "wx/archive.h"
|
||||||
#include "wx/wfstream.h"
|
#include "wx/fileback.h"
|
||||||
#include "wx/zipstrm.h"
|
#include "wx/thread.h"
|
||||||
#include "wx/fs_zip.h"
|
|
||||||
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
// wxZipFSInputStream
|
// wxArchiveFSCacheDataImpl
|
||||||
|
//
|
||||||
|
// Holds the catalog of an archive file, and if it is being read from a
|
||||||
|
// non-seekable stream, a copy of its backing file.
|
||||||
|
//
|
||||||
|
// This class is actually the reference counted implementation for the
|
||||||
|
// wxArchiveFSCacheData class below. It was done that way to allow sharing
|
||||||
|
// between instances of wxFileSystem, though that's a feature not used in this
|
||||||
|
// version.
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
// Helper class for wxZipFSHandler
|
|
||||||
|
|
||||||
class wxZipFSInputStream : public wxZipInputStream
|
WX_DECLARE_STRING_HASH_MAP(wxArchiveEntry*, wxArchiveFSEntryHash);
|
||||||
|
|
||||||
|
struct wxArchiveFSEntry
|
||||||
{
|
{
|
||||||
public:
|
wxArchiveEntry *entry;
|
||||||
wxZipFSInputStream(wxFSFile *file)
|
wxArchiveFSEntry *next;
|
||||||
: wxZipInputStream(*file->GetStream())
|
|
||||||
{
|
|
||||||
m_file = file;
|
|
||||||
#if WXWIN_COMPATIBILITY_2_6
|
|
||||||
m_allowSeeking = true;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual ~wxZipFSInputStream() { delete m_file; }
|
|
||||||
|
|
||||||
private:
|
|
||||||
wxFSFile *m_file;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class wxArchiveFSCacheDataImpl
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
wxArchiveFSCacheDataImpl(const wxArchiveClassFactory& factory,
|
||||||
|
const wxBackingFile& backer);
|
||||||
|
wxArchiveFSCacheDataImpl(const wxArchiveClassFactory& factory,
|
||||||
|
wxInputStream *stream);
|
||||||
|
|
||||||
|
~wxArchiveFSCacheDataImpl();
|
||||||
|
|
||||||
|
void Release() { if (--m_refcount == 0) delete this; }
|
||||||
|
wxArchiveFSCacheDataImpl *AddRef() { m_refcount++; return this; }
|
||||||
|
|
||||||
|
wxArchiveEntry *Get(const wxString& name);
|
||||||
|
wxInputStream *NewStream() const;
|
||||||
|
|
||||||
|
wxArchiveFSEntry *GetNext(wxArchiveFSEntry *fse);
|
||||||
|
|
||||||
|
private:
|
||||||
|
wxArchiveFSEntry *AddToCache(wxArchiveEntry *entry);
|
||||||
|
void CloseStreams();
|
||||||
|
|
||||||
|
int m_refcount;
|
||||||
|
|
||||||
|
wxArchiveFSEntryHash m_hash;
|
||||||
|
wxArchiveFSEntry *m_begin;
|
||||||
|
wxArchiveFSEntry **m_endptr;
|
||||||
|
|
||||||
|
wxBackingFile m_backer;
|
||||||
|
wxInputStream *m_stream;
|
||||||
|
wxArchiveInputStream *m_archive;
|
||||||
|
};
|
||||||
|
|
||||||
|
wxArchiveFSCacheDataImpl::wxArchiveFSCacheDataImpl(
|
||||||
|
const wxArchiveClassFactory& factory,
|
||||||
|
const wxBackingFile& backer)
|
||||||
|
: m_refcount(1),
|
||||||
|
m_begin(NULL),
|
||||||
|
m_endptr(&m_begin),
|
||||||
|
m_backer(backer),
|
||||||
|
m_stream(new wxBackedInputStream(backer)),
|
||||||
|
m_archive(factory.NewStream(*m_stream))
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
wxArchiveFSCacheDataImpl::wxArchiveFSCacheDataImpl(
|
||||||
|
const wxArchiveClassFactory& factory,
|
||||||
|
wxInputStream *stream)
|
||||||
|
: m_refcount(1),
|
||||||
|
m_begin(NULL),
|
||||||
|
m_endptr(&m_begin),
|
||||||
|
m_stream(stream),
|
||||||
|
m_archive(factory.NewStream(*m_stream))
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
wxArchiveFSCacheDataImpl::~wxArchiveFSCacheDataImpl()
|
||||||
|
{
|
||||||
|
WX_CLEAR_HASH_MAP(wxArchiveFSEntryHash, m_hash);
|
||||||
|
|
||||||
|
wxArchiveFSEntry *entry = m_begin;
|
||||||
|
|
||||||
|
while (entry)
|
||||||
|
{
|
||||||
|
wxArchiveFSEntry *next = entry->next;
|
||||||
|
delete entry;
|
||||||
|
entry = next;
|
||||||
|
}
|
||||||
|
|
||||||
|
CloseStreams();
|
||||||
|
}
|
||||||
|
|
||||||
|
wxArchiveFSEntry *wxArchiveFSCacheDataImpl::AddToCache(wxArchiveEntry *entry)
|
||||||
|
{
|
||||||
|
m_hash[entry->GetName()] = entry;
|
||||||
|
wxArchiveFSEntry *fse = new wxArchiveFSEntry;
|
||||||
|
*m_endptr = fse;
|
||||||
|
(*m_endptr)->entry = entry;
|
||||||
|
(*m_endptr)->next = NULL;
|
||||||
|
m_endptr = &(*m_endptr)->next;
|
||||||
|
return fse;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxArchiveFSCacheDataImpl::CloseStreams()
|
||||||
|
{
|
||||||
|
delete m_archive;
|
||||||
|
m_archive = NULL;
|
||||||
|
delete m_stream;
|
||||||
|
m_stream = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
wxArchiveEntry *wxArchiveFSCacheDataImpl::Get(const wxString& name)
|
||||||
|
{
|
||||||
|
wxArchiveFSEntryHash::iterator it = m_hash.find(name);
|
||||||
|
|
||||||
|
if (it != m_hash.end())
|
||||||
|
return it->second;
|
||||||
|
|
||||||
|
if (!m_archive)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
wxArchiveEntry *entry;
|
||||||
|
|
||||||
|
while ((entry = m_archive->GetNextEntry()) != NULL)
|
||||||
|
{
|
||||||
|
AddToCache(entry);
|
||||||
|
|
||||||
|
if (entry->GetName() == name)
|
||||||
|
return entry;
|
||||||
|
}
|
||||||
|
|
||||||
|
CloseStreams();
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
wxInputStream* wxArchiveFSCacheDataImpl::NewStream() const
|
||||||
|
{
|
||||||
|
if (m_backer)
|
||||||
|
return new wxBackedInputStream(m_backer);
|
||||||
|
else
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
wxArchiveFSEntry *wxArchiveFSCacheDataImpl::GetNext(wxArchiveFSEntry *fse)
|
||||||
|
{
|
||||||
|
wxArchiveFSEntry *next = fse ? fse->next : m_begin;
|
||||||
|
|
||||||
|
if (!next && m_archive)
|
||||||
|
{
|
||||||
|
wxArchiveEntry *entry = m_archive->GetNextEntry();
|
||||||
|
|
||||||
|
if (entry)
|
||||||
|
next = AddToCache(entry);
|
||||||
|
else
|
||||||
|
CloseStreams();
|
||||||
|
}
|
||||||
|
|
||||||
|
return next;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// wxArchiveFSCacheData
|
||||||
|
//
|
||||||
|
// This is the inteface for wxArchiveFSCacheDataImpl above. Holds the catalog
|
||||||
|
// of an archive file, and if it is being read from a non-seekable stream, a
|
||||||
|
// copy of its backing file.
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxArchiveFSCacheData
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
wxArchiveFSCacheData() : m_impl(NULL) { }
|
||||||
|
wxArchiveFSCacheData(const wxArchiveClassFactory& factory,
|
||||||
|
const wxBackingFile& backer);
|
||||||
|
wxArchiveFSCacheData(const wxArchiveClassFactory& factory,
|
||||||
|
wxInputStream *stream);
|
||||||
|
|
||||||
|
wxArchiveFSCacheData(const wxArchiveFSCacheData& data);
|
||||||
|
wxArchiveFSCacheData& operator=(const wxArchiveFSCacheData& data);
|
||||||
|
|
||||||
|
~wxArchiveFSCacheData() { if (m_impl) m_impl->Release(); }
|
||||||
|
|
||||||
|
wxArchiveEntry *Get(const wxString& name) { return m_impl->Get(name); }
|
||||||
|
wxInputStream *NewStream() const { return m_impl->NewStream(); }
|
||||||
|
wxArchiveFSEntry *GetNext(wxArchiveFSEntry *fse)
|
||||||
|
{ return m_impl->GetNext(fse); }
|
||||||
|
|
||||||
|
private:
|
||||||
|
wxArchiveFSCacheDataImpl *m_impl;
|
||||||
|
};
|
||||||
|
|
||||||
|
wxArchiveFSCacheData::wxArchiveFSCacheData(
|
||||||
|
const wxArchiveClassFactory& factory,
|
||||||
|
const wxBackingFile& backer)
|
||||||
|
: m_impl(new wxArchiveFSCacheDataImpl(factory, backer))
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
wxArchiveFSCacheData::wxArchiveFSCacheData(
|
||||||
|
const wxArchiveClassFactory& factory,
|
||||||
|
wxInputStream *stream)
|
||||||
|
: m_impl(new wxArchiveFSCacheDataImpl(factory, stream))
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
wxArchiveFSCacheData::wxArchiveFSCacheData(const wxArchiveFSCacheData& data)
|
||||||
|
: m_impl(data.m_impl ? data.m_impl->AddRef() : NULL)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
wxArchiveFSCacheData& wxArchiveFSCacheData::operator=(
|
||||||
|
const wxArchiveFSCacheData& data)
|
||||||
|
{
|
||||||
|
if (data.m_impl != m_impl)
|
||||||
|
{
|
||||||
|
if (m_impl)
|
||||||
|
m_impl->Release();
|
||||||
|
|
||||||
|
m_impl = data.m_impl;
|
||||||
|
|
||||||
|
if (m_impl)
|
||||||
|
m_impl->AddRef();
|
||||||
|
}
|
||||||
|
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// wxArchiveFSCache
|
||||||
|
//
|
||||||
|
// wxArchiveFSCacheData caches a single archive, and this class holds a
|
||||||
|
// collection of them to cache all the archives accessed by this instance
|
||||||
|
// of wxFileSystem.
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
WX_DECLARE_STRING_HASH_MAP(wxArchiveFSCacheData, wxArchiveFSCacheDataHash);
|
||||||
|
|
||||||
|
class wxArchiveFSCache
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
wxArchiveFSCache() { }
|
||||||
|
~wxArchiveFSCache() { }
|
||||||
|
|
||||||
|
wxArchiveFSCacheData* Add(const wxString& name,
|
||||||
|
const wxArchiveClassFactory& factory,
|
||||||
|
wxInputStream *stream);
|
||||||
|
|
||||||
|
wxArchiveFSCacheData *Get(const wxString& name);
|
||||||
|
|
||||||
|
private:
|
||||||
|
wxArchiveFSCacheDataHash m_hash;
|
||||||
|
};
|
||||||
|
|
||||||
|
wxArchiveFSCacheData* wxArchiveFSCache::Add(
|
||||||
|
const wxString& name,
|
||||||
|
const wxArchiveClassFactory& factory,
|
||||||
|
wxInputStream *stream)
|
||||||
|
{
|
||||||
|
wxArchiveFSCacheData& data(m_hash[name]);
|
||||||
|
|
||||||
|
if (stream->IsSeekable())
|
||||||
|
data = wxArchiveFSCacheData(factory, stream);
|
||||||
|
else
|
||||||
|
data = wxArchiveFSCacheData(factory, wxBackingFile(stream));
|
||||||
|
|
||||||
|
return &data;
|
||||||
|
}
|
||||||
|
|
||||||
|
wxArchiveFSCacheData *wxArchiveFSCache::Get(const wxString& name)
|
||||||
|
{
|
||||||
|
wxArchiveFSCacheDataHash::iterator it;
|
||||||
|
|
||||||
|
if ((it = m_hash.find(name)) != m_hash.end())
|
||||||
|
return &it->second;
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
// wxZipFSHandler
|
// wxArchiveFSHandler
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
|
|
||||||
wxZipFSHandler::wxZipFSHandler() : wxFileSystemHandler()
|
IMPLEMENT_DYNAMIC_CLASS(wxArchiveFSHandler, wxFileSystemHandler)
|
||||||
|
|
||||||
|
wxArchiveFSHandler::wxArchiveFSHandler()
|
||||||
|
: wxFileSystemHandler()
|
||||||
{
|
{
|
||||||
m_Archive = NULL;
|
m_Archive = NULL;
|
||||||
|
m_FindEntry = NULL;
|
||||||
m_ZipFile = m_Pattern = m_BaseDir = wxEmptyString;
|
m_ZipFile = m_Pattern = m_BaseDir = wxEmptyString;
|
||||||
m_AllowDirs = m_AllowFiles = true;
|
m_AllowDirs = m_AllowFiles = true;
|
||||||
m_DirsFound = NULL;
|
m_DirsFound = NULL;
|
||||||
|
m_cache = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxArchiveFSHandler::~wxArchiveFSHandler()
|
||||||
|
|
||||||
wxZipFSHandler::~wxZipFSHandler()
|
|
||||||
{
|
{
|
||||||
Cleanup();
|
Cleanup();
|
||||||
|
delete m_cache;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxArchiveFSHandler::Cleanup()
|
||||||
void wxZipFSHandler::Cleanup()
|
|
||||||
{
|
{
|
||||||
wxDELETE(m_Archive);
|
|
||||||
wxDELETE(m_DirsFound);
|
wxDELETE(m_DirsFound);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool wxArchiveFSHandler::CanOpen(const wxString& location)
|
||||||
bool wxZipFSHandler::CanOpen(const wxString& location)
|
|
||||||
{
|
{
|
||||||
wxString p = GetProtocol(location);
|
wxString p = GetProtocol(location);
|
||||||
return (p == wxT("zip"));
|
return wxArchiveClassFactory::Find(p) != NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxFSFile* wxArchiveFSHandler::OpenFile(
|
||||||
wxFSFile* wxZipFSHandler::OpenFile(wxFileSystem& WXUNUSED(fs), const wxString& location)
|
wxFileSystem& WXUNUSED(fs),
|
||||||
|
const wxString& location)
|
||||||
{
|
{
|
||||||
wxString right = GetRightLocation(location);
|
wxString right = GetRightLocation(location);
|
||||||
wxString left = GetLeftLocation(location);
|
wxString left = GetLeftLocation(location);
|
||||||
wxZipInputStream *s;
|
wxString protocol = GetProtocol(location);
|
||||||
|
wxString key = left + wxT("#") + protocol + wxT(":");
|
||||||
|
|
||||||
if (right.Contains(wxT("./")))
|
if (right.Contains(wxT("./")))
|
||||||
{
|
{
|
||||||
@ -100,65 +358,84 @@ wxFSFile* wxZipFSHandler::OpenFile(wxFileSystem& WXUNUSED(fs), const wxString& l
|
|||||||
|
|
||||||
if (right.GetChar(0) == wxT('/')) right = right.Mid(1);
|
if (right.GetChar(0) == wxT('/')) right = right.Mid(1);
|
||||||
|
|
||||||
// a new wxFileSystem object is needed here to avoid infinite recursion
|
if (!m_cache)
|
||||||
wxFSFile *leftFile = wxFileSystem().OpenFile(left);
|
m_cache = new wxArchiveFSCache;
|
||||||
if (!leftFile)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
s = new wxZipFSInputStream(leftFile);
|
const wxArchiveClassFactory *factory;
|
||||||
if (s && s->IsOk())
|
factory = wxArchiveClassFactory::Find(protocol);
|
||||||
|
if (!factory)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
wxArchiveFSCacheData *cached = m_cache->Get(key);
|
||||||
|
if (!cached)
|
||||||
{
|
{
|
||||||
#if wxUSE_DATETIME
|
wxFSFile *leftFile = m_fs.OpenFile(left);
|
||||||
wxDateTime dtMod;
|
if (!leftFile)
|
||||||
#endif // wxUSE_DATETIME
|
return NULL;
|
||||||
|
cached = m_cache->Add(key, *factory, leftFile->DetachStream());
|
||||||
|
delete leftFile;
|
||||||
|
}
|
||||||
|
|
||||||
bool found = false;
|
wxArchiveEntry *entry = cached->Get(right);
|
||||||
while (!found)
|
if (!entry)
|
||||||
{
|
return NULL;
|
||||||
wxZipEntry *ent = s->GetNextEntry();
|
|
||||||
if (!ent)
|
|
||||||
break;
|
|
||||||
|
|
||||||
if (ent->GetInternalName() == right)
|
wxInputStream *leftStream = cached->NewStream();
|
||||||
{
|
if (!leftStream)
|
||||||
found = true;
|
{
|
||||||
dtMod = ent->GetDateTime();
|
wxFSFile *leftFile = m_fs.OpenFile(left);
|
||||||
}
|
if (!leftFile)
|
||||||
|
return NULL;
|
||||||
|
leftStream = leftFile->DetachStream();
|
||||||
|
delete leftFile;
|
||||||
|
}
|
||||||
|
|
||||||
delete ent;
|
wxArchiveInputStream *s = factory->NewStream(leftStream);
|
||||||
}
|
s->OpenEntry(*entry);
|
||||||
if (found)
|
|
||||||
{
|
if (s && s->IsOk())
|
||||||
return new wxFSFile(s,
|
return new wxFSFile(s,
|
||||||
left + wxT("#zip:") + right,
|
key + right,
|
||||||
GetMimeTypeFromExt(location),
|
GetMimeTypeFromExt(location),
|
||||||
GetAnchor(location)
|
GetAnchor(location)
|
||||||
#if wxUSE_DATETIME
|
#if wxUSE_DATETIME
|
||||||
, dtMod
|
, entry->GetDateTime()
|
||||||
#endif // wxUSE_DATETIME
|
#endif // wxUSE_DATETIME
|
||||||
);
|
);
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
delete s;
|
delete s;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxString wxArchiveFSHandler::FindFirst(const wxString& spec, int flags)
|
||||||
|
|
||||||
wxString wxZipFSHandler::FindFirst(const wxString& spec, int flags)
|
|
||||||
{
|
{
|
||||||
wxString right = GetRightLocation(spec);
|
wxString right = GetRightLocation(spec);
|
||||||
wxString left = GetLeftLocation(spec);
|
wxString left = GetLeftLocation(spec);
|
||||||
|
wxString protocol = GetProtocol(spec);
|
||||||
|
wxString key = left + wxT("#") + protocol + wxT(":");
|
||||||
|
|
||||||
if (!right.empty() && right.Last() == wxT('/')) right.RemoveLast();
|
if (!right.empty() && right.Last() == wxT('/')) right.RemoveLast();
|
||||||
|
|
||||||
if (m_Archive)
|
if (!m_cache)
|
||||||
|
m_cache = new wxArchiveFSCache;
|
||||||
|
|
||||||
|
const wxArchiveClassFactory *factory;
|
||||||
|
factory = wxArchiveClassFactory::Find(protocol);
|
||||||
|
if (!factory)
|
||||||
|
return wxEmptyString;
|
||||||
|
|
||||||
|
m_Archive = m_cache->Get(key);
|
||||||
|
if (!m_Archive)
|
||||||
{
|
{
|
||||||
delete m_Archive;
|
wxFSFile *leftFile = m_fs.OpenFile(left);
|
||||||
m_Archive = NULL;
|
if (!leftFile)
|
||||||
|
return wxEmptyString;
|
||||||
|
m_Archive = m_cache->Add(key, *factory, leftFile->DetachStream());
|
||||||
|
delete leftFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_FindEntry = NULL;
|
||||||
|
|
||||||
switch (flags)
|
switch (flags)
|
||||||
{
|
{
|
||||||
case wxFILE:
|
case wxFILE:
|
||||||
@ -169,11 +446,7 @@ wxString wxZipFSHandler::FindFirst(const wxString& spec, int flags)
|
|||||||
m_AllowDirs = m_AllowFiles = true; break;
|
m_AllowDirs = m_AllowFiles = true; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_ZipFile = left;
|
m_ZipFile = key;
|
||||||
|
|
||||||
wxFSFile *leftFile = wxFileSystem().OpenFile(left);
|
|
||||||
if (leftFile)
|
|
||||||
m_Archive = new wxZipFSInputStream(leftFile);
|
|
||||||
|
|
||||||
m_Pattern = right.AfterLast(wxT('/'));
|
m_Pattern = right.AfterLast(wxT('/'));
|
||||||
m_BaseDir = right.BeforeLast(wxT('/'));
|
m_BaseDir = right.BeforeLast(wxT('/'));
|
||||||
@ -185,7 +458,7 @@ wxString wxZipFSHandler::FindFirst(const wxString& spec, int flags)
|
|||||||
if (m_AllowDirs)
|
if (m_AllowDirs)
|
||||||
{
|
{
|
||||||
delete m_DirsFound;
|
delete m_DirsFound;
|
||||||
m_DirsFound = new wxZipFilenameHashMap();
|
m_DirsFound = new wxArchiveFilenameHashMap();
|
||||||
if (right.empty()) // allow "/" to match the archive root
|
if (right.empty()) // allow "/" to match the archive root
|
||||||
return spec;
|
return spec;
|
||||||
}
|
}
|
||||||
@ -194,32 +467,28 @@ wxString wxZipFSHandler::FindFirst(const wxString& spec, int flags)
|
|||||||
return wxEmptyString;
|
return wxEmptyString;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxString wxArchiveFSHandler::FindNext()
|
||||||
|
|
||||||
wxString wxZipFSHandler::FindNext()
|
|
||||||
{
|
{
|
||||||
if (!m_Archive) return wxEmptyString;
|
if (!m_Archive) return wxEmptyString;
|
||||||
return DoFind();
|
return DoFind();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxString wxArchiveFSHandler::DoFind()
|
||||||
|
|
||||||
wxString wxZipFSHandler::DoFind()
|
|
||||||
{
|
{
|
||||||
wxString namestr, dir, filename;
|
wxString namestr, dir, filename;
|
||||||
wxString match = wxEmptyString;
|
wxString match = wxEmptyString;
|
||||||
|
|
||||||
while (match == wxEmptyString)
|
while (match == wxEmptyString)
|
||||||
{
|
{
|
||||||
wxZipEntry *entry = m_Archive->GetNextEntry();
|
m_FindEntry = m_Archive->GetNext(m_FindEntry);
|
||||||
if (!entry)
|
|
||||||
|
if (!m_FindEntry)
|
||||||
{
|
{
|
||||||
delete m_Archive;
|
|
||||||
m_Archive = NULL;
|
m_Archive = NULL;
|
||||||
|
m_FindEntry = NULL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
namestr = entry->GetName(wxPATH_UNIX);
|
namestr = m_FindEntry->entry->GetName(wxPATH_UNIX);
|
||||||
delete entry;
|
|
||||||
|
|
||||||
if (m_AllowDirs)
|
if (m_AllowDirs)
|
||||||
{
|
{
|
||||||
@ -233,7 +502,7 @@ wxString wxZipFSHandler::DoFind()
|
|||||||
dir = dir.BeforeLast(wxT('/'));
|
dir = dir.BeforeLast(wxT('/'));
|
||||||
if (!filename.empty() && m_BaseDir == dir &&
|
if (!filename.empty() && m_BaseDir == dir &&
|
||||||
wxMatchWild(m_Pattern, filename, false))
|
wxMatchWild(m_Pattern, filename, false))
|
||||||
match = m_ZipFile + wxT("#zip:") + dir + wxT("/") + filename;
|
match = m_ZipFile + dir + wxT("/") + filename;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
break; // already tranversed
|
break; // already tranversed
|
||||||
@ -244,13 +513,10 @@ wxString wxZipFSHandler::DoFind()
|
|||||||
dir = namestr.BeforeLast(wxT('/'));
|
dir = namestr.BeforeLast(wxT('/'));
|
||||||
if (m_AllowFiles && !filename.empty() && m_BaseDir == dir &&
|
if (m_AllowFiles && !filename.empty() && m_BaseDir == dir &&
|
||||||
wxMatchWild(m_Pattern, filename, false))
|
wxMatchWild(m_Pattern, filename, false))
|
||||||
match = m_ZipFile + wxT("#zip:") + namestr;
|
match = m_ZipFile + namestr;
|
||||||
}
|
}
|
||||||
|
|
||||||
return match;
|
return match;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // wxUSE_FS_ARCHIVE
|
||||||
|
|
||||||
#endif
|
|
||||||
//wxUSE_FILESYSTEM && wxUSE_FS_ZIP && wxUSE_ZIPSTREAM
|
|
||||||
|
@ -591,6 +591,10 @@ SOURCE=.\common\framecmn.cpp
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\common\fs_arc.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\common\fs_filter.cpp
|
SOURCE=.\common\fs_filter.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
@ -2695,6 +2699,10 @@ SOURCE=..\include\wx\frame.h
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\include\wx\fs_arc.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\include\wx\fs_filter.h
|
SOURCE=..\include\wx\fs_filter.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
@ -247,6 +247,7 @@ wx/filename.h
|
|||||||
wx/filesys.h
|
wx/filesys.h
|
||||||
wx/fontenc.h
|
wx/fontenc.h
|
||||||
wx/fontmap.h
|
wx/fontmap.h
|
||||||
|
wx/fs_arc.h
|
||||||
wx/fs_filter.h
|
wx/fs_filter.h
|
||||||
wx/fs_mem.h
|
wx/fs_mem.h
|
||||||
wx/fs_zip.h
|
wx/fs_zip.h
|
||||||
|
@ -150,6 +150,7 @@ wx/filename.h
|
|||||||
wx/filesys.h
|
wx/filesys.h
|
||||||
wx/fontenc.h
|
wx/fontenc.h
|
||||||
wx/fontmap.h
|
wx/fontmap.h
|
||||||
|
wx/fs_arc.h
|
||||||
wx/fs_filter.h
|
wx/fs_filter.h
|
||||||
wx/fs_mem.h
|
wx/fs_mem.h
|
||||||
wx/fs_zip.h
|
wx/fs_zip.h
|
||||||
|
@ -175,6 +175,7 @@ wx/filename.h
|
|||||||
wx/filesys.h
|
wx/filesys.h
|
||||||
wx/fontenc.h
|
wx/fontenc.h
|
||||||
wx/fontmap.h
|
wx/fontmap.h
|
||||||
|
wx/fs_arc.h
|
||||||
wx/fs_filter.h
|
wx/fs_filter.h
|
||||||
wx/fs_mem.h
|
wx/fs_mem.h
|
||||||
wx/fs_zip.h
|
wx/fs_zip.h
|
||||||
|
Loading…
Reference in New Issue
Block a user