Add wxLZMAInputStream for decompressing data in XZ format
No compression support yet.
This commit is contained in:
19
Makefile.in
19
Makefile.in
@@ -530,6 +530,7 @@ ALL_BASE_HEADERS = \
|
||||
wx/fswatcher.h \
|
||||
wx/generic/fswatcher.h \
|
||||
wx/secretstore.h \
|
||||
wx/lzmastream.h \
|
||||
$(BASE_PLATFORM_HDR) \
|
||||
wx/fs_inet.h \
|
||||
wx/protocol/file.h \
|
||||
@@ -713,6 +714,7 @@ ALL_PORTS_BASE_HEADERS = \
|
||||
wx/fswatcher.h \
|
||||
wx/generic/fswatcher.h \
|
||||
wx/secretstore.h \
|
||||
wx/lzmastream.h \
|
||||
wx/unix/app.h \
|
||||
wx/unix/apptbase.h \
|
||||
wx/unix/apptrait.h \
|
||||
@@ -851,6 +853,7 @@ ALL_BASE_SOURCES = \
|
||||
src/common/fswatchercmn.cpp \
|
||||
src/generic/fswatcherg.cpp \
|
||||
src/common/secretstore.cpp \
|
||||
src/common/lzmastream.cpp \
|
||||
src/common/fdiodispatcher.cpp \
|
||||
src/common/selectdispatcher.cpp \
|
||||
src/unix/appunix.cpp \
|
||||
@@ -1034,6 +1037,7 @@ MONODLL_OBJECTS = \
|
||||
monodll_fswatchercmn.o \
|
||||
monodll_fswatcherg.o \
|
||||
monodll_common_secretstore.o \
|
||||
monodll_lzmastream.o \
|
||||
$(__BASE_PLATFORM_SRC_OBJECTS) \
|
||||
monodll_event.o \
|
||||
monodll_fs_mem.o \
|
||||
@@ -1176,6 +1180,7 @@ MONOLIB_OBJECTS = \
|
||||
monolib_fswatchercmn.o \
|
||||
monolib_fswatcherg.o \
|
||||
monolib_common_secretstore.o \
|
||||
monolib_lzmastream.o \
|
||||
$(__BASE_PLATFORM_SRC_OBJECTS_1) \
|
||||
monolib_event.o \
|
||||
monolib_fs_mem.o \
|
||||
@@ -1307,6 +1312,7 @@ BASEDLL_OBJECTS = \
|
||||
basedll_fswatchercmn.o \
|
||||
basedll_fswatcherg.o \
|
||||
basedll_common_secretstore.o \
|
||||
basedll_lzmastream.o \
|
||||
$(__BASE_PLATFORM_SRC_OBJECTS_2) \
|
||||
basedll_event.o \
|
||||
basedll_fs_mem.o \
|
||||
@@ -1421,6 +1427,7 @@ BASELIB_OBJECTS = \
|
||||
baselib_fswatchercmn.o \
|
||||
baselib_fswatcherg.o \
|
||||
baselib_common_secretstore.o \
|
||||
baselib_lzmastream.o \
|
||||
$(__BASE_PLATFORM_SRC_OBJECTS_3) \
|
||||
baselib_event.o \
|
||||
baselib_fs_mem.o \
|
||||
@@ -16270,6 +16277,9 @@ monodll_fswatcherg.o: $(srcdir)/src/generic/fswatcherg.cpp $(MONODLL_ODEP)
|
||||
monodll_common_secretstore.o: $(srcdir)/src/common/secretstore.cpp $(MONODLL_ODEP)
|
||||
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/secretstore.cpp
|
||||
|
||||
monodll_lzmastream.o: $(srcdir)/src/common/lzmastream.cpp $(MONODLL_ODEP)
|
||||
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/lzmastream.cpp
|
||||
|
||||
monodll_unix_mimetype.o: $(srcdir)/src/unix/mimetype.cpp $(MONODLL_ODEP)
|
||||
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/mimetype.cpp
|
||||
|
||||
@@ -21529,6 +21539,9 @@ monolib_fswatcherg.o: $(srcdir)/src/generic/fswatcherg.cpp $(MONOLIB_ODEP)
|
||||
monolib_common_secretstore.o: $(srcdir)/src/common/secretstore.cpp $(MONOLIB_ODEP)
|
||||
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/secretstore.cpp
|
||||
|
||||
monolib_lzmastream.o: $(srcdir)/src/common/lzmastream.cpp $(MONOLIB_ODEP)
|
||||
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/lzmastream.cpp
|
||||
|
||||
monolib_unix_mimetype.o: $(srcdir)/src/unix/mimetype.cpp $(MONOLIB_ODEP)
|
||||
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/mimetype.cpp
|
||||
|
||||
@@ -26788,6 +26801,9 @@ basedll_fswatcherg.o: $(srcdir)/src/generic/fswatcherg.cpp $(BASEDLL_ODEP)
|
||||
basedll_common_secretstore.o: $(srcdir)/src/common/secretstore.cpp $(BASEDLL_ODEP)
|
||||
$(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/secretstore.cpp
|
||||
|
||||
basedll_lzmastream.o: $(srcdir)/src/common/lzmastream.cpp $(BASEDLL_ODEP)
|
||||
$(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/lzmastream.cpp
|
||||
|
||||
basedll_unix_mimetype.o: $(srcdir)/src/unix/mimetype.cpp $(BASEDLL_ODEP)
|
||||
$(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/mimetype.cpp
|
||||
|
||||
@@ -27265,6 +27281,9 @@ baselib_fswatcherg.o: $(srcdir)/src/generic/fswatcherg.cpp $(BASELIB_ODEP)
|
||||
baselib_common_secretstore.o: $(srcdir)/src/common/secretstore.cpp $(BASELIB_ODEP)
|
||||
$(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/secretstore.cpp
|
||||
|
||||
baselib_lzmastream.o: $(srcdir)/src/common/lzmastream.cpp $(BASELIB_ODEP)
|
||||
$(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/lzmastream.cpp
|
||||
|
||||
baselib_unix_mimetype.o: $(srcdir)/src/unix/mimetype.cpp $(BASELIB_ODEP)
|
||||
$(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/mimetype.cpp
|
||||
|
||||
|
@@ -546,6 +546,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
src/common/fswatchercmn.cpp
|
||||
src/generic/fswatcherg.cpp
|
||||
src/common/secretstore.cpp
|
||||
src/common/lzmastream.cpp
|
||||
</set>
|
||||
<set var="BASE_AND_GUI_CMN_SRC" hints="files">
|
||||
src/common/event.cpp
|
||||
@@ -719,6 +720,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
wx/fswatcher.h
|
||||
wx/generic/fswatcher.h
|
||||
wx/secretstore.h
|
||||
wx/lzmastream.h
|
||||
</set>
|
||||
|
||||
|
||||
|
@@ -458,6 +458,7 @@ set(BASE_CMN_SRC
|
||||
src/common/zstream.cpp
|
||||
src/common/fswatchercmn.cpp
|
||||
src/generic/fswatcherg.cpp
|
||||
src/common/lzmastream.cpp
|
||||
)
|
||||
|
||||
set(BASE_AND_GUI_CMN_SRC
|
||||
@@ -633,6 +634,7 @@ set(BASE_CMN_HDR
|
||||
wx/meta/removeref.h
|
||||
wx/fswatcher.h
|
||||
wx/generic/fswatcher.h
|
||||
wx/lzmastream.h
|
||||
)
|
||||
|
||||
set(NET_UNIX_SRC
|
||||
|
@@ -433,6 +433,7 @@ BASE_CMN_SRC =
|
||||
src/common/list.cpp
|
||||
src/common/log.cpp
|
||||
src/common/longlong.cpp
|
||||
src/common/lzmastream.cpp
|
||||
src/common/memory.cpp
|
||||
src/common/mimecmn.cpp
|
||||
src/common/module.cpp
|
||||
@@ -559,6 +560,7 @@ BASE_CMN_HDR =
|
||||
wx/listimpl.cpp
|
||||
wx/log.h
|
||||
wx/longlong.h
|
||||
wx/lzmastream.h
|
||||
wx/math.h
|
||||
wx/memconf.h
|
||||
wx/memory.h
|
||||
|
@@ -455,6 +455,7 @@ MONODLL_OBJECTS = \
|
||||
$(OBJS)\monodll_fswatchercmn.obj \
|
||||
$(OBJS)\monodll_fswatcherg.obj \
|
||||
$(OBJS)\monodll_common_secretstore.obj \
|
||||
$(OBJS)\monodll_lzmastream.obj \
|
||||
$(OBJS)\monodll_basemsw.obj \
|
||||
$(OBJS)\monodll_crashrpt.obj \
|
||||
$(OBJS)\monodll_debughlp.obj \
|
||||
@@ -607,6 +608,7 @@ MONOLIB_OBJECTS = \
|
||||
$(OBJS)\monolib_fswatchercmn.obj \
|
||||
$(OBJS)\monolib_fswatcherg.obj \
|
||||
$(OBJS)\monolib_common_secretstore.obj \
|
||||
$(OBJS)\monolib_lzmastream.obj \
|
||||
$(OBJS)\monolib_basemsw.obj \
|
||||
$(OBJS)\monolib_crashrpt.obj \
|
||||
$(OBJS)\monolib_debughlp.obj \
|
||||
@@ -755,6 +757,7 @@ BASEDLL_OBJECTS = \
|
||||
$(OBJS)\basedll_fswatchercmn.obj \
|
||||
$(OBJS)\basedll_fswatcherg.obj \
|
||||
$(OBJS)\basedll_common_secretstore.obj \
|
||||
$(OBJS)\basedll_lzmastream.obj \
|
||||
$(OBJS)\basedll_basemsw.obj \
|
||||
$(OBJS)\basedll_crashrpt.obj \
|
||||
$(OBJS)\basedll_debughlp.obj \
|
||||
@@ -888,6 +891,7 @@ BASELIB_OBJECTS = \
|
||||
$(OBJS)\baselib_fswatchercmn.obj \
|
||||
$(OBJS)\baselib_fswatcherg.obj \
|
||||
$(OBJS)\baselib_common_secretstore.obj \
|
||||
$(OBJS)\baselib_lzmastream.obj \
|
||||
$(OBJS)\baselib_basemsw.obj \
|
||||
$(OBJS)\baselib_crashrpt.obj \
|
||||
$(OBJS)\baselib_debughlp.obj \
|
||||
@@ -6690,6 +6694,9 @@ $(OBJS)\monodll_fswatcherg.obj: ..\..\src\generic\fswatcherg.cpp
|
||||
$(OBJS)\monodll_common_secretstore.obj: ..\..\src\common\secretstore.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\secretstore.cpp
|
||||
|
||||
$(OBJS)\monodll_lzmastream.obj: ..\..\src\common\lzmastream.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\lzmastream.cpp
|
||||
|
||||
$(OBJS)\monodll_basemsw.obj: ..\..\src\msw\basemsw.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\basemsw.cpp
|
||||
|
||||
@@ -9236,6 +9243,9 @@ $(OBJS)\monolib_fswatcherg.obj: ..\..\src\generic\fswatcherg.cpp
|
||||
$(OBJS)\monolib_common_secretstore.obj: ..\..\src\common\secretstore.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\secretstore.cpp
|
||||
|
||||
$(OBJS)\monolib_lzmastream.obj: ..\..\src\common\lzmastream.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\lzmastream.cpp
|
||||
|
||||
$(OBJS)\monolib_basemsw.obj: ..\..\src\msw\basemsw.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\basemsw.cpp
|
||||
|
||||
@@ -11782,6 +11792,9 @@ $(OBJS)\basedll_fswatcherg.obj: ..\..\src\generic\fswatcherg.cpp
|
||||
$(OBJS)\basedll_common_secretstore.obj: ..\..\src\common\secretstore.cpp
|
||||
$(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) ..\..\src\common\secretstore.cpp
|
||||
|
||||
$(OBJS)\basedll_lzmastream.obj: ..\..\src\common\lzmastream.cpp
|
||||
$(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) ..\..\src\common\lzmastream.cpp
|
||||
|
||||
$(OBJS)\basedll_basemsw.obj: ..\..\src\msw\basemsw.cpp
|
||||
$(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) ..\..\src\msw\basemsw.cpp
|
||||
|
||||
@@ -12127,6 +12140,9 @@ $(OBJS)\baselib_fswatcherg.obj: ..\..\src\generic\fswatcherg.cpp
|
||||
$(OBJS)\baselib_common_secretstore.obj: ..\..\src\common\secretstore.cpp
|
||||
$(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) ..\..\src\common\secretstore.cpp
|
||||
|
||||
$(OBJS)\baselib_lzmastream.obj: ..\..\src\common\lzmastream.cpp
|
||||
$(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) ..\..\src\common\lzmastream.cpp
|
||||
|
||||
$(OBJS)\baselib_basemsw.obj: ..\..\src\msw\basemsw.cpp
|
||||
$(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) ..\..\src\msw\basemsw.cpp
|
||||
|
||||
|
@@ -443,6 +443,7 @@ MONODLL_OBJECTS = \
|
||||
$(OBJS)\monodll_fswatchercmn.o \
|
||||
$(OBJS)\monodll_fswatcherg.o \
|
||||
$(OBJS)\monodll_common_secretstore.o \
|
||||
$(OBJS)\monodll_lzmastream.o \
|
||||
$(OBJS)\monodll_basemsw.o \
|
||||
$(OBJS)\monodll_crashrpt.o \
|
||||
$(OBJS)\monodll_debughlp.o \
|
||||
@@ -596,6 +597,7 @@ MONOLIB_OBJECTS = \
|
||||
$(OBJS)\monolib_fswatchercmn.o \
|
||||
$(OBJS)\monolib_fswatcherg.o \
|
||||
$(OBJS)\monolib_common_secretstore.o \
|
||||
$(OBJS)\monolib_lzmastream.o \
|
||||
$(OBJS)\monolib_basemsw.o \
|
||||
$(OBJS)\monolib_crashrpt.o \
|
||||
$(OBJS)\monolib_debughlp.o \
|
||||
@@ -745,6 +747,7 @@ BASEDLL_OBJECTS = \
|
||||
$(OBJS)\basedll_fswatchercmn.o \
|
||||
$(OBJS)\basedll_fswatcherg.o \
|
||||
$(OBJS)\basedll_common_secretstore.o \
|
||||
$(OBJS)\basedll_lzmastream.o \
|
||||
$(OBJS)\basedll_basemsw.o \
|
||||
$(OBJS)\basedll_crashrpt.o \
|
||||
$(OBJS)\basedll_debughlp.o \
|
||||
@@ -878,6 +881,7 @@ BASELIB_OBJECTS = \
|
||||
$(OBJS)\baselib_fswatchercmn.o \
|
||||
$(OBJS)\baselib_fswatcherg.o \
|
||||
$(OBJS)\baselib_common_secretstore.o \
|
||||
$(OBJS)\baselib_lzmastream.o \
|
||||
$(OBJS)\baselib_basemsw.o \
|
||||
$(OBJS)\baselib_crashrpt.o \
|
||||
$(OBJS)\baselib_debughlp.o \
|
||||
@@ -6872,6 +6876,9 @@ $(OBJS)\monodll_fswatcherg.o: ../../src/generic/fswatcherg.cpp
|
||||
$(OBJS)\monodll_common_secretstore.o: ../../src/common/secretstore.cpp
|
||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\monodll_lzmastream.o: ../../src/common/lzmastream.cpp
|
||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\monodll_basemsw.o: ../../src/msw/basemsw.cpp
|
||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
@@ -9420,6 +9427,9 @@ $(OBJS)\monolib_fswatcherg.o: ../../src/generic/fswatcherg.cpp
|
||||
$(OBJS)\monolib_common_secretstore.o: ../../src/common/secretstore.cpp
|
||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\monolib_lzmastream.o: ../../src/common/lzmastream.cpp
|
||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\monolib_basemsw.o: ../../src/msw/basemsw.cpp
|
||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
@@ -11968,6 +11978,9 @@ $(OBJS)\basedll_fswatcherg.o: ../../src/generic/fswatcherg.cpp
|
||||
$(OBJS)\basedll_common_secretstore.o: ../../src/common/secretstore.cpp
|
||||
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\basedll_lzmastream.o: ../../src/common/lzmastream.cpp
|
||||
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\basedll_basemsw.o: ../../src/msw/basemsw.cpp
|
||||
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
@@ -12313,6 +12326,9 @@ $(OBJS)\baselib_fswatcherg.o: ../../src/generic/fswatcherg.cpp
|
||||
$(OBJS)\baselib_common_secretstore.o: ../../src/common/secretstore.cpp
|
||||
$(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\baselib_lzmastream.o: ../../src/common/lzmastream.cpp
|
||||
$(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\baselib_basemsw.o: ../../src/msw/basemsw.cpp
|
||||
$(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
|
@@ -475,6 +475,7 @@ MONODLL_OBJECTS = \
|
||||
$(OBJS)\monodll_fswatchercmn.obj \
|
||||
$(OBJS)\monodll_fswatcherg.obj \
|
||||
$(OBJS)\monodll_common_secretstore.obj \
|
||||
$(OBJS)\monodll_lzmastream.obj \
|
||||
$(OBJS)\monodll_basemsw.obj \
|
||||
$(OBJS)\monodll_crashrpt.obj \
|
||||
$(OBJS)\monodll_debughlp.obj \
|
||||
@@ -637,6 +638,7 @@ MONOLIB_OBJECTS = \
|
||||
$(OBJS)\monolib_fswatchercmn.obj \
|
||||
$(OBJS)\monolib_fswatcherg.obj \
|
||||
$(OBJS)\monolib_common_secretstore.obj \
|
||||
$(OBJS)\monolib_lzmastream.obj \
|
||||
$(OBJS)\monolib_basemsw.obj \
|
||||
$(OBJS)\monolib_crashrpt.obj \
|
||||
$(OBJS)\monolib_debughlp.obj \
|
||||
@@ -793,6 +795,7 @@ BASEDLL_OBJECTS = \
|
||||
$(OBJS)\basedll_fswatchercmn.obj \
|
||||
$(OBJS)\basedll_fswatcherg.obj \
|
||||
$(OBJS)\basedll_common_secretstore.obj \
|
||||
$(OBJS)\basedll_lzmastream.obj \
|
||||
$(OBJS)\basedll_basemsw.obj \
|
||||
$(OBJS)\basedll_crashrpt.obj \
|
||||
$(OBJS)\basedll_debughlp.obj \
|
||||
@@ -936,6 +939,7 @@ BASELIB_OBJECTS = \
|
||||
$(OBJS)\baselib_fswatchercmn.obj \
|
||||
$(OBJS)\baselib_fswatcherg.obj \
|
||||
$(OBJS)\baselib_common_secretstore.obj \
|
||||
$(OBJS)\baselib_lzmastream.obj \
|
||||
$(OBJS)\baselib_basemsw.obj \
|
||||
$(OBJS)\baselib_crashrpt.obj \
|
||||
$(OBJS)\baselib_debughlp.obj \
|
||||
@@ -7387,6 +7391,9 @@ $(OBJS)\monodll_fswatcherg.obj: ..\..\src\generic\fswatcherg.cpp
|
||||
$(OBJS)\monodll_common_secretstore.obj: ..\..\src\common\secretstore.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\secretstore.cpp
|
||||
|
||||
$(OBJS)\monodll_lzmastream.obj: ..\..\src\common\lzmastream.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\lzmastream.cpp
|
||||
|
||||
$(OBJS)\monodll_basemsw.obj: ..\..\src\msw\basemsw.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\basemsw.cpp
|
||||
|
||||
@@ -9933,6 +9940,9 @@ $(OBJS)\monolib_fswatcherg.obj: ..\..\src\generic\fswatcherg.cpp
|
||||
$(OBJS)\monolib_common_secretstore.obj: ..\..\src\common\secretstore.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\secretstore.cpp
|
||||
|
||||
$(OBJS)\monolib_lzmastream.obj: ..\..\src\common\lzmastream.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\lzmastream.cpp
|
||||
|
||||
$(OBJS)\monolib_basemsw.obj: ..\..\src\msw\basemsw.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\basemsw.cpp
|
||||
|
||||
@@ -12479,6 +12489,9 @@ $(OBJS)\basedll_fswatcherg.obj: ..\..\src\generic\fswatcherg.cpp
|
||||
$(OBJS)\basedll_common_secretstore.obj: ..\..\src\common\secretstore.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) ..\..\src\common\secretstore.cpp
|
||||
|
||||
$(OBJS)\basedll_lzmastream.obj: ..\..\src\common\lzmastream.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) ..\..\src\common\lzmastream.cpp
|
||||
|
||||
$(OBJS)\basedll_basemsw.obj: ..\..\src\msw\basemsw.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) ..\..\src\msw\basemsw.cpp
|
||||
|
||||
@@ -12824,6 +12837,9 @@ $(OBJS)\baselib_fswatcherg.obj: ..\..\src\generic\fswatcherg.cpp
|
||||
$(OBJS)\baselib_common_secretstore.obj: ..\..\src\common\secretstore.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) ..\..\src\common\secretstore.cpp
|
||||
|
||||
$(OBJS)\baselib_lzmastream.obj: ..\..\src\common\lzmastream.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) ..\..\src\common\lzmastream.cpp
|
||||
|
||||
$(OBJS)\baselib_basemsw.obj: ..\..\src\msw\basemsw.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) ..\..\src\msw\basemsw.cpp
|
||||
|
||||
|
@@ -605,6 +605,7 @@
|
||||
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)common_%(Filename).obj</ObjectFileName>
|
||||
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)common_%(Filename).obj</ObjectFileName>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\common\lzmastream.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\..\src\msw\version.rc">
|
||||
@@ -822,6 +823,7 @@
|
||||
<ClInclude Include="..\..\include\wx\arrimpl.cpp" />
|
||||
<ClInclude Include="..\..\include\wx\secretstore.h" />
|
||||
<ClInclude Include="..\..\include\wx\evtloopsrc.h" />
|
||||
<ClInclude Include="..\..\include\wx\lzmastream.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
|
@@ -162,6 +162,9 @@
|
||||
<ClCompile Include="..\..\src\common\longlong.cpp">
|
||||
<Filter>Common Sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\common\lzmastream.cpp">
|
||||
<Filter>Common Sources</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\common\memory.cpp">
|
||||
<Filter>Common Sources</Filter>
|
||||
</ClCompile>
|
||||
@@ -604,6 +607,9 @@
|
||||
<ClInclude Include="..\..\include\wx\longlong.h">
|
||||
<Filter>Common Headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\include\wx\lzmastream.h">
|
||||
<Filter>Common Headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\include\wx\math.h">
|
||||
<Filter>Common Headers</Filter>
|
||||
</ClInclude>
|
||||
|
@@ -462,6 +462,9 @@
|
||||
<File
|
||||
RelativePath="..\..\src\common\longlong.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\common\lzmastream.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\common\memory.cpp">
|
||||
</File>
|
||||
@@ -1135,6 +1138,9 @@
|
||||
<File
|
||||
RelativePath="..\..\include\wx\longlong.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\wx\lzmastream.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\wx\math.h">
|
||||
</File>
|
||||
|
@@ -1053,6 +1053,10 @@
|
||||
RelativePath="..\..\src\common\longlong.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\common\lzmastream.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\common\memory.cpp"
|
||||
>
|
||||
@@ -2111,6 +2115,10 @@
|
||||
RelativePath="..\..\include\wx\longlong.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\wx\lzmastream.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\wx\math.h"
|
||||
>
|
||||
|
@@ -1049,6 +1049,10 @@
|
||||
RelativePath="..\..\src\common\longlong.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\common\lzmastream.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\common\memory.cpp"
|
||||
>
|
||||
@@ -2107,6 +2111,10 @@
|
||||
RelativePath="..\..\include\wx\longlong.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\wx\lzmastream.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\wx\math.h"
|
||||
>
|
||||
|
@@ -703,6 +703,7 @@ Related overview: @ref overview_stream
|
||||
@li wxTempFileOutputStream: Stream to safely replace an existing file
|
||||
@li wxStringInputStream: String input stream class
|
||||
@li wxStringOutputStream: String output stream class
|
||||
@li wxLZMAInputStream: LZMA decompression stream class
|
||||
@li wxZlibInputStream: Zlib and gzip (compression) input stream class
|
||||
@li wxZlibOutputStream: Zlib and gzip (compression) output stream class
|
||||
@li wxZipInputStream: Input stream for reading from ZIP archives
|
||||
|
54
include/wx/lzmastream.h
Normal file
54
include/wx/lzmastream.h
Normal file
@@ -0,0 +1,54 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/lzmastream.h
|
||||
// Purpose: Filters streams using LZMA(2) compression
|
||||
// Author: Vadim Zeitlin
|
||||
// Created: 2018-03-29
|
||||
// Copyright: (c) 2018 Vadim Zeitlin <vadim@wxwidgets.org>
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_LZMASTREAM_H_
|
||||
#define _WX_LZMASTREAM_H_
|
||||
|
||||
#include "wx/defs.h"
|
||||
|
||||
#if wxUSE_LIBLZMA && wxUSE_STREAMS
|
||||
|
||||
#include "wx/stream.h"
|
||||
#include "wx/versioninfo.h"
|
||||
|
||||
struct wxLZMAStream;
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Filter for decompressing data compressed using LZMA
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_BASE wxLZMAInputStream : public wxFilterInputStream
|
||||
{
|
||||
public:
|
||||
explicit wxLZMAInputStream(wxInputStream& stream);
|
||||
explicit wxLZMAInputStream(wxInputStream* stream);
|
||||
virtual ~wxLZMAInputStream();
|
||||
|
||||
char Peek() wxOVERRIDE { return wxInputStream::Peek(); }
|
||||
wxFileOffset GetLength() const wxOVERRIDE { return wxInputStream::GetLength(); }
|
||||
|
||||
protected:
|
||||
size_t OnSysRead(void *buffer, size_t size) wxOVERRIDE;
|
||||
wxFileOffset OnSysTell() const wxOVERRIDE { return m_pos; }
|
||||
|
||||
private:
|
||||
void Init();
|
||||
|
||||
wxLZMAStream* m_stream;
|
||||
wxUint8* m_inbuf;
|
||||
wxFileOffset m_pos;
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxLZMAInputStream);
|
||||
};
|
||||
|
||||
WXDLLIMPEXP_BASE wxVersionInfo wxGetLibLZMAVersionInfo();
|
||||
|
||||
#endif // wxUSE_LIBLZMA && wxUSE_STREAMS
|
||||
|
||||
#endif // _WX_LZMASTREAM_H_
|
60
interface/wx/lzmastream.h
Normal file
60
interface/wx/lzmastream.h
Normal file
@@ -0,0 +1,60 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/lzmastream.h
|
||||
// Purpose: LZMA [de]compression classes documentation
|
||||
// Author: Vadim Zeitlin
|
||||
// Created: 2018-03-29
|
||||
// Copyright: (c) 2018 Vadim Zeitlin <vadim@wxwidgets.org>
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
@class wxLZMAInputStream
|
||||
|
||||
This filter stream decompresses data in XZ format.
|
||||
|
||||
XZ format uses LZMA2 algorithm for compression used for .xz files and is
|
||||
similar to GZip or BZip2 format. Notice that it is different from, and
|
||||
incompatible with, 7z archive format even although it uses the same
|
||||
compression algorithm.
|
||||
|
||||
To decompress contents of standard input to standard output, the following
|
||||
(not optimally efficient) code could be used:
|
||||
@code
|
||||
wxFFileInputStream fin(stdin);
|
||||
wxLZMAInputStream zin(fin);
|
||||
wxFFileOutputStream fout(stdout);
|
||||
zin.Read(fout);
|
||||
|
||||
if ( zin.GetLastError() != wxSTREAM_EOF ) {
|
||||
... handle error ...
|
||||
}
|
||||
@endcode
|
||||
|
||||
@library{wxbase}
|
||||
@category{archive,streams}
|
||||
|
||||
@see wxInputStream, wxZlibInputStream
|
||||
|
||||
@since 3.1.2
|
||||
*/
|
||||
class wxLZMAInputStream : public wxFilterInputStream
|
||||
{
|
||||
public:
|
||||
/**
|
||||
Create decompressing stream associated with the given underlying
|
||||
stream.
|
||||
|
||||
This overload does not take ownership of the @a stream.
|
||||
*/
|
||||
wxLZMAInputStream(wxInputStream& stream);
|
||||
|
||||
/**
|
||||
Create decompressing stream associated with the given underlying
|
||||
stream and takes ownership of it.
|
||||
|
||||
As with the base wxFilterInputStream class, passing @a stream by
|
||||
pointer indicates that this object takes ownership of it and will
|
||||
delete it when it is itself destroyed.
|
||||
*/
|
||||
wxLZMAInputStream(wxInputStream* stream);
|
||||
};
|
210
src/common/lzmastream.cpp
Normal file
210
src/common/lzmastream.cpp
Normal file
@@ -0,0 +1,210 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: src/common/lzmastream.cpp
|
||||
// Purpose: Implementation of LZMA stream classes
|
||||
// Author: Vadim Zeitlin
|
||||
// Created: 2018-03-29
|
||||
// Copyright: (c) 2018 Vadim Zeitlin <vadim@wxwidgets.org>
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// ============================================================================
|
||||
// declarations
|
||||
// ============================================================================
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// headers
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// for compilers that support precompilation, includes "wx.h".
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
#if wxUSE_LIBLZMA && wxUSE_STREAMS
|
||||
|
||||
#include "wx/lzmastream.h"
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/log.h"
|
||||
#include "wx/translation.h"
|
||||
#endif // WX_PRECOMP
|
||||
|
||||
#include <lzma.h>
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Constants
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
static const size_t wxLZMA_BUF_SIZE = 4096;
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Private helpers
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// Simpler wrapper around lzma_stream, taking care of initializing and
|
||||
// finalizing it.
|
||||
struct wxLZMAStream : lzma_stream
|
||||
{
|
||||
wxLZMAStream()
|
||||
{
|
||||
memset(this, 0, sizeof(lzma_stream));
|
||||
}
|
||||
|
||||
~wxLZMAStream()
|
||||
{
|
||||
lzma_end(this);
|
||||
}
|
||||
};
|
||||
|
||||
// ============================================================================
|
||||
// implementation
|
||||
// ============================================================================
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Functions
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
wxVersionInfo wxGetLibLZMAVersionInfo()
|
||||
{
|
||||
const uint32_t ver = lzma_version_number();
|
||||
|
||||
// For now ignore the "stability" part of the version.
|
||||
return wxVersionInfo
|
||||
(
|
||||
"liblzma",
|
||||
ver / 10000000,
|
||||
(ver % 10000000) / 10000,
|
||||
(ver % 10000) / 10
|
||||
);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxLZMAInputStream: decompression
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
wxLZMAInputStream::wxLZMAInputStream(wxInputStream& stream)
|
||||
: wxFilterInputStream(stream)
|
||||
{
|
||||
Init();
|
||||
}
|
||||
|
||||
wxLZMAInputStream::wxLZMAInputStream(wxInputStream* stream)
|
||||
: wxFilterInputStream(stream)
|
||||
{
|
||||
Init();
|
||||
}
|
||||
|
||||
void wxLZMAInputStream::Init()
|
||||
{
|
||||
m_stream = new wxLZMAStream;
|
||||
m_inbuf = new wxUint8[wxLZMA_BUF_SIZE];
|
||||
m_pos = 0;
|
||||
|
||||
// We don't specify any memory usage limit nor any flags, not even
|
||||
// LZMA_CONCATENATED recommended by liblzma documentation, because we don't
|
||||
// foresee the need to support concatenated compressed files for now.
|
||||
const lzma_ret rc = lzma_stream_decoder(m_stream, UINT64_MAX, 0);
|
||||
switch ( rc )
|
||||
{
|
||||
case LZMA_OK:
|
||||
// Skip setting m_lasterror below.
|
||||
return;
|
||||
|
||||
case LZMA_MEM_ERROR:
|
||||
wxLogError(_("Failed to allocate memory for LZMA decompression."));
|
||||
break;
|
||||
|
||||
default:
|
||||
wxLogError(_("Failed to initialize LZMA decompression: "
|
||||
"unexpected error %u."),
|
||||
rc);
|
||||
break;
|
||||
}
|
||||
|
||||
m_lasterror = wxSTREAM_READ_ERROR;
|
||||
}
|
||||
|
||||
wxLZMAInputStream::~wxLZMAInputStream()
|
||||
{
|
||||
delete [] m_inbuf;
|
||||
delete m_stream;
|
||||
}
|
||||
|
||||
size_t wxLZMAInputStream::OnSysRead(void* outbuf, size_t size)
|
||||
{
|
||||
m_stream->next_out = static_cast<uint8_t*>(outbuf);
|
||||
m_stream->avail_out = size;
|
||||
|
||||
// Decompress input as long as we don't have any errors (including EOF, as
|
||||
// it doesn't make sense to continue after it neither) and have space to
|
||||
// decompress it to.
|
||||
while ( m_lasterror == wxSTREAM_NO_ERROR && m_stream->avail_out > 0 )
|
||||
{
|
||||
// Get more input data if needed.
|
||||
if ( !m_stream->avail_in )
|
||||
{
|
||||
m_parent_i_stream->Read(m_inbuf, wxLZMA_BUF_SIZE);
|
||||
m_stream->next_in = m_inbuf;
|
||||
m_stream->avail_in = m_parent_i_stream->LastRead();
|
||||
|
||||
if ( !m_stream->avail_in )
|
||||
{
|
||||
if ( m_parent_i_stream->GetLastError() == wxSTREAM_EOF )
|
||||
{
|
||||
// We have reached end of the underlying stream.
|
||||
m_lasterror = wxSTREAM_EOF;
|
||||
break;
|
||||
}
|
||||
|
||||
m_lasterror = wxSTREAM_READ_ERROR;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Do decompress.
|
||||
const lzma_ret rc = lzma_code(m_stream, LZMA_RUN);
|
||||
|
||||
wxString err;
|
||||
switch ( rc )
|
||||
{
|
||||
case LZMA_OK:
|
||||
continue;
|
||||
|
||||
case LZMA_STREAM_END:
|
||||
m_lasterror = wxSTREAM_EOF;
|
||||
continue;
|
||||
|
||||
case LZMA_FORMAT_ERROR:
|
||||
err = wxTRANSLATE("input is not in XZ format");
|
||||
break;
|
||||
|
||||
case LZMA_OPTIONS_ERROR:
|
||||
err = wxTRANSLATE("input compressed using unknown XZ option");
|
||||
break;
|
||||
|
||||
case LZMA_DATA_ERROR:
|
||||
case LZMA_BUF_ERROR:
|
||||
err = wxTRANSLATE("input is corrupted");
|
||||
break;
|
||||
|
||||
default:
|
||||
err = wxTRANSLATE("unknown decompression error");
|
||||
break;
|
||||
}
|
||||
|
||||
wxLogError(_("LZMA decompression error: %s"), wxGetTranslation(err));
|
||||
|
||||
m_lasterror = wxSTREAM_READ_ERROR;
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Return the number of bytes actually read, this may be less than the
|
||||
// requested size if we hit EOF.
|
||||
size -= m_stream->avail_out;
|
||||
m_pos += size;
|
||||
return size;
|
||||
}
|
||||
|
||||
#endif // wxUSE_LIBLZMA && wxUSE_STREAMS
|
Reference in New Issue
Block a user