react-native-update 7.4.2 → 8.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (749) hide show
  1. package/README.md +2 -1
  2. package/android/jni/HDiffPatch/CHANGELOG.md +153 -0
  3. package/android/jni/HDiffPatch/LICENSE +48 -0
  4. package/android/jni/HDiffPatch/Makefile +157 -0
  5. package/android/jni/HDiffPatch/README.md +307 -0
  6. package/android/jni/HDiffPatch/_atosize.h +83 -0
  7. package/android/jni/HDiffPatch/_clock_for_demo.h +47 -0
  8. package/android/jni/HDiffPatch/_dir_ignore.h +191 -0
  9. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/Android.mk +37 -0
  10. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/Application.mk +7 -0
  11. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/build_libs.bat +1 -0
  12. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/build_libs.sh +1 -0
  13. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch.c +18 -0
  14. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch.h +20 -0
  15. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch_jni.c +28 -0
  16. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/java/com/github/sisong/HPatch.java +8 -0
  17. package/android/jni/HDiffPatch/builds/codeblocks/HDiffPatch.workspace +8 -0
  18. package/android/jni/HDiffPatch/builds/codeblocks/HDiffZ.cbp +219 -0
  19. package/android/jni/HDiffPatch/builds/codeblocks/HPatchZ.cbp +156 -0
  20. package/android/jni/HDiffPatch/builds/codeblocks/unitTest.cbp +65 -0
  21. package/android/jni/HDiffPatch/builds/vc/HDiffPatch.sln +105 -0
  22. package/android/jni/HDiffPatch/builds/vc/HDiffZ.vcxproj +237 -0
  23. package/android/jni/HDiffPatch/builds/vc/HDiffZ.vcxproj.user +3 -0
  24. package/android/jni/HDiffPatch/builds/vc/HPatchZ.vcxproj +318 -0
  25. package/android/jni/HDiffPatch/builds/vc/HPatchZ.vcxproj.user +3 -0
  26. package/android/jni/HDiffPatch/builds/vc/unitTest.vcxproj +182 -0
  27. package/android/jni/HDiffPatch/builds/vc/unitTest.vcxproj.user +3 -0
  28. package/android/jni/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/contents.xcworkspacedata +30 -0
  29. package/android/jni/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  30. package/android/jni/HDiffPatch/builds/xcode/bestParams.xcodeproj/project.pbxproj +408 -0
  31. package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.pbxproj +573 -0
  32. package/android/jni/HDiffPatch/builds/xcode/hpatchz.xcodeproj/project.pbxproj +396 -0
  33. package/android/jni/HDiffPatch/builds/xcode/lz4.xcodeproj/project.pbxproj +268 -0
  34. package/android/jni/HDiffPatch/builds/xcode/lzma.xcodeproj/project.pbxproj +361 -0
  35. package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.pbxproj +301 -0
  36. package/android/jni/HDiffPatch/builds/xcode/unitTest.xcodeproj/project.pbxproj +411 -0
  37. package/android/jni/HDiffPatch/builds/xcode/zstd.xcodeproj/project.pbxproj +504 -0
  38. package/android/jni/HDiffPatch/checksum_plugin_demo.h +344 -0
  39. package/android/jni/HDiffPatch/compress_parallel.cpp +166 -0
  40. package/android/jni/HDiffPatch/compress_parallel.h +59 -0
  41. package/android/jni/HDiffPatch/compress_plugin_demo.h +1152 -0
  42. package/android/jni/HDiffPatch/decompress_plugin_demo.h +995 -0
  43. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.cpp +797 -0
  44. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.h +65 -0
  45. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.cpp +200 -0
  46. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.h +178 -0
  47. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.cpp +357 -0
  48. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.h +87 -0
  49. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/file_for_dirDiff.h +151 -0
  50. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.c +770 -0
  51. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.h +236 -0
  52. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_private.h +47 -0
  53. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.c +112 -0
  54. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.h +53 -0
  55. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_types.h +61 -0
  56. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.c +331 -0
  57. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.h +144 -0
  58. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_stream.c +176 -0
  59. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_stream.h +84 -0
  60. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.c +146 -0
  61. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.h +61 -0
  62. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.c +152 -0
  63. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.h +76 -0
  64. package/android/jni/HDiffPatch/file_for_patch.c +524 -0
  65. package/android/jni/HDiffPatch/file_for_patch.h +259 -0
  66. package/android/jni/HDiffPatch/hdiffz.cpp +1570 -0
  67. package/android/jni/HDiffPatch/hpatch_dir_listener.h +290 -0
  68. package/android/jni/HDiffPatch/hpatchz.c +1221 -0
  69. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff.cpp +1025 -0
  70. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff.h +116 -0
  71. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff_types.h +72 -0
  72. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.cpp +213 -0
  73. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.h +63 -0
  74. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.cpp +170 -0
  75. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.h +86 -0
  76. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/config.h +89 -0
  77. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c +13 -0
  78. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c.inc.h +398 -0
  79. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.h +194 -0
  80. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.c +13 -0
  81. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.h +204 -0
  82. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort_private.h +207 -0
  83. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/sssort.c.inc.h +815 -0
  84. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/trsort.c.inc.h +586 -0
  85. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/utils.c.inc.h +381 -0
  86. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.c +352 -0
  87. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.h +137 -0
  88. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/bloom_filter.h +137 -0
  89. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/covers.h +70 -0
  90. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.cpp +628 -0
  91. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.h +87 -0
  92. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.cpp +363 -0
  93. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.h +139 -0
  94. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/mem_buf.h +68 -0
  95. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/pack_uint.h +115 -0
  96. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.cpp +342 -0
  97. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.h +94 -0
  98. package/android/jni/HDiffPatch/libHDiffPatch/HPatch/checksum_plugin.h +52 -0
  99. package/android/jni/HDiffPatch/libHDiffPatch/HPatch/patch.c +2292 -0
  100. package/android/jni/HDiffPatch/libHDiffPatch/HPatch/patch.h +215 -0
  101. package/android/jni/HDiffPatch/libHDiffPatch/HPatch/patch_private.h +165 -0
  102. package/android/jni/HDiffPatch/libHDiffPatch/HPatch/patch_types.h +251 -0
  103. package/android/jni/HDiffPatch/libParallel/parallel_channel.cpp +174 -0
  104. package/android/jni/HDiffPatch/libParallel/parallel_channel.h +73 -0
  105. package/android/jni/HDiffPatch/libParallel/parallel_import.cpp +367 -0
  106. package/android/jni/HDiffPatch/libParallel/parallel_import.h +92 -0
  107. package/android/jni/HDiffPatch/test/_private_searchBestParams.cpp +301 -0
  108. package/android/jni/HDiffPatch/test/hpatchz_test.cpp +292 -0
  109. package/android/jni/HDiffPatch/test/testHashClash.cpp +436 -0
  110. package/android/jni/HDiffPatch/test/unit_test.cpp +417 -0
  111. package/android/jni/lzma/Asm/arm/7zCrcOpt.asm +100 -0
  112. package/android/jni/lzma/Asm/x86/7zAsm.asm +147 -0
  113. package/android/jni/lzma/Asm/x86/7zCrcOpt.asm +147 -0
  114. package/android/jni/lzma/Asm/x86/AesOpt.asm +237 -0
  115. package/android/jni/lzma/Asm/x86/LzmaDecOpt.asm +1258 -0
  116. package/android/jni/lzma/Asm/x86/XzCrc64Opt.asm +205 -0
  117. package/android/jni/lzma/C/7z.h +202 -0
  118. package/android/jni/lzma/C/7zAlloc.c +80 -0
  119. package/android/jni/lzma/C/7zAlloc.h +19 -0
  120. package/android/jni/lzma/C/7zArcIn.c +1771 -0
  121. package/android/jni/lzma/C/7zBuf.c +36 -0
  122. package/android/jni/lzma/C/7zBuf.h +35 -0
  123. package/android/jni/lzma/C/7zBuf2.c +52 -0
  124. package/android/jni/lzma/C/7zCrc.c +128 -0
  125. package/android/jni/lzma/C/7zCrc.h +25 -0
  126. package/android/jni/lzma/C/7zCrcOpt.c +115 -0
  127. package/android/jni/lzma/C/7zDec.c +591 -0
  128. package/android/jni/lzma/C/7zFile.c +286 -0
  129. package/android/jni/lzma/C/7zFile.h +83 -0
  130. package/android/jni/lzma/C/7zStream.c +176 -0
  131. package/android/jni/lzma/C/7zTypes.h +375 -0
  132. package/android/jni/lzma/C/7zVersion.h +27 -0
  133. package/android/jni/lzma/C/7zVersion.rc +55 -0
  134. package/android/jni/lzma/C/Aes.c +306 -0
  135. package/android/jni/lzma/C/Aes.h +38 -0
  136. package/android/jni/lzma/C/AesOpt.c +184 -0
  137. package/android/jni/lzma/C/Alloc.c +455 -0
  138. package/android/jni/lzma/C/Alloc.h +51 -0
  139. package/android/jni/lzma/C/Bcj2.c +257 -0
  140. package/android/jni/lzma/C/Bcj2.h +146 -0
  141. package/android/jni/lzma/C/Bcj2Enc.c +311 -0
  142. package/android/jni/lzma/C/Bra.c +230 -0
  143. package/android/jni/lzma/C/Bra.h +64 -0
  144. package/android/jni/lzma/C/Bra86.c +82 -0
  145. package/android/jni/lzma/C/BraIA64.c +53 -0
  146. package/android/jni/lzma/C/Compiler.h +33 -0
  147. package/android/jni/lzma/C/CpuArch.c +218 -0
  148. package/android/jni/lzma/C/CpuArch.h +336 -0
  149. package/android/jni/lzma/C/Delta.c +64 -0
  150. package/android/jni/lzma/C/Delta.h +19 -0
  151. package/android/jni/lzma/C/DllSecur.c +108 -0
  152. package/android/jni/lzma/C/DllSecur.h +20 -0
  153. package/android/jni/lzma/C/LzFind.c +1127 -0
  154. package/android/jni/lzma/C/LzFind.h +121 -0
  155. package/android/jni/lzma/C/LzFindMt.c +853 -0
  156. package/android/jni/lzma/C/LzFindMt.h +101 -0
  157. package/android/jni/lzma/C/LzHash.h +57 -0
  158. package/android/jni/lzma/C/Lzma2Dec.c +488 -0
  159. package/android/jni/lzma/C/Lzma2Dec.h +120 -0
  160. package/android/jni/lzma/C/Lzma2DecMt.c +1082 -0
  161. package/android/jni/lzma/C/Lzma2DecMt.h +79 -0
  162. package/android/jni/lzma/C/Lzma2Enc.c +803 -0
  163. package/android/jni/lzma/C/Lzma2Enc.h +55 -0
  164. package/android/jni/lzma/C/Lzma86.h +111 -0
  165. package/android/jni/lzma/C/Lzma86Dec.c +54 -0
  166. package/android/jni/lzma/C/Lzma86Enc.c +106 -0
  167. package/android/jni/lzma/C/LzmaDec.c +1185 -0
  168. package/android/jni/lzma/C/LzmaDec.h +234 -0
  169. package/android/jni/lzma/C/LzmaEnc.c +2976 -0
  170. package/android/jni/lzma/C/LzmaEnc.h +76 -0
  171. package/android/jni/lzma/C/LzmaLib.c +40 -0
  172. package/android/jni/lzma/C/LzmaLib.h +131 -0
  173. package/android/jni/lzma/C/MtCoder.c +601 -0
  174. package/android/jni/lzma/C/MtCoder.h +141 -0
  175. package/android/jni/lzma/C/MtDec.c +1138 -0
  176. package/android/jni/lzma/C/MtDec.h +201 -0
  177. package/android/jni/lzma/C/Ppmd.h +85 -0
  178. package/android/jni/lzma/C/Ppmd7.c +712 -0
  179. package/android/jni/lzma/C/Ppmd7.h +142 -0
  180. package/android/jni/lzma/C/Ppmd7Dec.c +191 -0
  181. package/android/jni/lzma/C/Ppmd7Enc.c +187 -0
  182. package/android/jni/lzma/C/Precomp.h +10 -0
  183. package/android/jni/lzma/C/RotateDefs.h +30 -0
  184. package/android/jni/lzma/C/Sha256.c +248 -0
  185. package/android/jni/lzma/C/Sha256.h +26 -0
  186. package/android/jni/lzma/C/Sort.c +141 -0
  187. package/android/jni/lzma/C/Sort.h +18 -0
  188. package/android/jni/lzma/C/Threads.c +95 -0
  189. package/android/jni/lzma/C/Threads.h +70 -0
  190. package/android/jni/lzma/C/ThreadsP.c +396 -0
  191. package/android/jni/lzma/C/ThreadsP.h +31 -0
  192. package/android/jni/lzma/C/Util/7z/7z.dsp +241 -0
  193. package/android/jni/lzma/C/Util/7z/7z.dsw +29 -0
  194. package/android/jni/lzma/C/Util/7z/7zMain.c +686 -0
  195. package/android/jni/lzma/C/Util/7z/Precomp.c +4 -0
  196. package/android/jni/lzma/C/Util/7z/Precomp.h +10 -0
  197. package/android/jni/lzma/C/Util/7z/makefile +40 -0
  198. package/android/jni/lzma/C/Util/7z/makefile.gcc +75 -0
  199. package/android/jni/lzma/C/Util/Lzma/LzmaUtil.c +258 -0
  200. package/android/jni/lzma/C/Util/Lzma/LzmaUtil.dsp +168 -0
  201. package/android/jni/lzma/C/Util/Lzma/LzmaUtil.dsw +29 -0
  202. package/android/jni/lzma/C/Util/Lzma/makefile +28 -0
  203. package/android/jni/lzma/C/Util/Lzma/makefile.gcc +44 -0
  204. package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.def +4 -0
  205. package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.dsp +178 -0
  206. package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.dsw +29 -0
  207. package/android/jni/lzma/C/Util/LzmaLib/LzmaLibExports.c +14 -0
  208. package/android/jni/lzma/C/Util/LzmaLib/makefile +34 -0
  209. package/android/jni/lzma/C/Util/LzmaLib/resource.rc +3 -0
  210. package/android/jni/lzma/C/Util/SfxSetup/Precomp.c +4 -0
  211. package/android/jni/lzma/C/Util/SfxSetup/Precomp.h +10 -0
  212. package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.c +640 -0
  213. package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.dsp +231 -0
  214. package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.dsw +29 -0
  215. package/android/jni/lzma/C/Util/SfxSetup/makefile +37 -0
  216. package/android/jni/lzma/C/Util/SfxSetup/makefile_con +38 -0
  217. package/android/jni/lzma/C/Util/SfxSetup/resource.rc +5 -0
  218. package/android/jni/lzma/C/Util/SfxSetup/setup.ico +0 -0
  219. package/android/jni/lzma/C/Xz.c +90 -0
  220. package/android/jni/lzma/C/Xz.h +460 -0
  221. package/android/jni/lzma/C/XzCrc64.c +86 -0
  222. package/android/jni/lzma/C/XzCrc64.h +26 -0
  223. package/android/jni/lzma/C/XzCrc64Opt.c +69 -0
  224. package/android/jni/lzma/C/XzDec.c +2766 -0
  225. package/android/jni/lzma/C/XzEnc.c +1329 -0
  226. package/android/jni/lzma/C/XzEnc.h +60 -0
  227. package/android/jni/lzma/C/XzIn.c +319 -0
  228. package/android/jni/lzma/CPP/7zip/7zip.mak +240 -0
  229. package/android/jni/lzma/CPP/7zip/Aes.mak +7 -0
  230. package/android/jni/lzma/CPP/7zip/Archive/7z/7zCompressionMode.cpp +3 -0
  231. package/android/jni/lzma/CPP/7zip/Archive/7z/7zCompressionMode.h +76 -0
  232. package/android/jni/lzma/CPP/7zip/Archive/7z/7zDecode.cpp +569 -0
  233. package/android/jni/lzma/CPP/7zip/Archive/7z/7zDecode.h +70 -0
  234. package/android/jni/lzma/CPP/7zip/Archive/7z/7zEncode.cpp +678 -0
  235. package/android/jni/lzma/CPP/7zip/Archive/7z/7zEncode.h +92 -0
  236. package/android/jni/lzma/CPP/7zip/Archive/7z/7zExtract.cpp +423 -0
  237. package/android/jni/lzma/CPP/7zip/Archive/7z/7zFolderInStream.cpp +139 -0
  238. package/android/jni/lzma/CPP/7zip/Archive/7z/7zFolderInStream.h +61 -0
  239. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandler.cpp +763 -0
  240. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandler.h +181 -0
  241. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandlerOut.cpp +942 -0
  242. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHeader.cpp +19 -0
  243. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHeader.h +148 -0
  244. package/android/jni/lzma/CPP/7zip/Archive/7z/7zIn.cpp +1666 -0
  245. package/android/jni/lzma/CPP/7zip/Archive/7z/7zIn.h +445 -0
  246. package/android/jni/lzma/CPP/7zip/Archive/7z/7zItem.h +202 -0
  247. package/android/jni/lzma/CPP/7zip/Archive/7z/7zOut.cpp +901 -0
  248. package/android/jni/lzma/CPP/7zip/Archive/7z/7zOut.h +335 -0
  249. package/android/jni/lzma/CPP/7zip/Archive/7z/7zProperties.cpp +174 -0
  250. package/android/jni/lzma/CPP/7zip/Archive/7z/7zProperties.h +22 -0
  251. package/android/jni/lzma/CPP/7zip/Archive/7z/7zRegister.cpp +21 -0
  252. package/android/jni/lzma/CPP/7zip/Archive/7z/7zSpecStream.cpp +22 -0
  253. package/android/jni/lzma/CPP/7zip/Archive/7z/7zSpecStream.h +35 -0
  254. package/android/jni/lzma/CPP/7zip/Archive/7z/7zUpdate.cpp +2500 -0
  255. package/android/jni/lzma/CPP/7zip/Archive/7z/7zUpdate.h +139 -0
  256. package/android/jni/lzma/CPP/7zip/Archive/7z/StdAfx.cpp +3 -0
  257. package/android/jni/lzma/CPP/7zip/Archive/7z/StdAfx.h +8 -0
  258. package/android/jni/lzma/CPP/7zip/Archive/Archive.def +12 -0
  259. package/android/jni/lzma/CPP/7zip/Archive/Archive2.def +19 -0
  260. package/android/jni/lzma/CPP/7zip/Archive/ArchiveExports.cpp +151 -0
  261. package/android/jni/lzma/CPP/7zip/Archive/Common/CoderMixer2.cpp +1125 -0
  262. package/android/jni/lzma/CPP/7zip/Archive/Common/CoderMixer2.h +447 -0
  263. package/android/jni/lzma/CPP/7zip/Archive/Common/DummyOutStream.cpp +17 -0
  264. package/android/jni/lzma/CPP/7zip/Archive/Common/DummyOutStream.h +25 -0
  265. package/android/jni/lzma/CPP/7zip/Archive/Common/HandlerOut.cpp +232 -0
  266. package/android/jni/lzma/CPP/7zip/Archive/Common/HandlerOut.h +110 -0
  267. package/android/jni/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.cpp +46 -0
  268. package/android/jni/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.h +67 -0
  269. package/android/jni/lzma/CPP/7zip/Archive/Common/ItemNameUtils.cpp +88 -0
  270. package/android/jni/lzma/CPP/7zip/Archive/Common/ItemNameUtils.h +28 -0
  271. package/android/jni/lzma/CPP/7zip/Archive/Common/MultiStream.cpp +191 -0
  272. package/android/jni/lzma/CPP/7zip/Archive/Common/MultiStream.h +89 -0
  273. package/android/jni/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.cpp +18 -0
  274. package/android/jni/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.h +37 -0
  275. package/android/jni/lzma/CPP/7zip/Archive/Common/ParseProperties.cpp +3 -0
  276. package/android/jni/lzma/CPP/7zip/Archive/Common/ParseProperties.h +6 -0
  277. package/android/jni/lzma/CPP/7zip/Archive/Common/StdAfx.h +8 -0
  278. package/android/jni/lzma/CPP/7zip/Archive/DllExports2.cpp +122 -0
  279. package/android/jni/lzma/CPP/7zip/Archive/IArchive.h +608 -0
  280. package/android/jni/lzma/CPP/7zip/Archive/Icons/7z.ico +0 -0
  281. package/android/jni/lzma/CPP/7zip/Archive/LzmaHandler.cpp +629 -0
  282. package/android/jni/lzma/CPP/7zip/Archive/SplitHandler.cpp +359 -0
  283. package/android/jni/lzma/CPP/7zip/Archive/StdAfx.h +8 -0
  284. package/android/jni/lzma/CPP/7zip/Archive/XzHandler.cpp +1308 -0
  285. package/android/jni/lzma/CPP/7zip/Archive/XzHandler.h +11 -0
  286. package/android/jni/lzma/CPP/7zip/Asm.mak +9 -0
  287. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsp +1910 -0
  288. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsw +29 -0
  289. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.cpp +3 -0
  290. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.h +8 -0
  291. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/makefile +154 -0
  292. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/resource.rc +7 -0
  293. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp +3 -0
  294. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.h +8 -0
  295. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/makefile +96 -0
  296. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/resource.rc +5 -0
  297. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.cpp +3 -0
  298. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.h +8 -0
  299. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/makefile +116 -0
  300. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/resource.rc +5 -0
  301. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaAlone.cpp +799 -0
  302. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsp +477 -0
  303. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw +29 -0
  304. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.cpp +3 -0
  305. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.h +8 -0
  306. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/makefile +59 -0
  307. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/makefile.gcc +195 -0
  308. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/resource.rc +3 -0
  309. package/android/jni/lzma/CPP/7zip/Bundles/LzmaSpec/LzmaSpec.cpp +715 -0
  310. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/7z.ico +0 -0
  311. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsp +912 -0
  312. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsw +29 -0
  313. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SfxCon.cpp +482 -0
  314. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.cpp +3 -0
  315. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.h +8 -0
  316. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/makefile +134 -0
  317. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/resource.rc +5 -0
  318. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.cpp +246 -0
  319. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.h +86 -0
  320. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.cpp +137 -0
  321. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.h +11 -0
  322. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsp +803 -0
  323. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw +29 -0
  324. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp +364 -0
  325. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.cpp +3 -0
  326. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.h +13 -0
  327. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/makefile +117 -0
  328. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/resource.h +6 -0
  329. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/resource.rc +16 -0
  330. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/setup.ico +0 -0
  331. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/7z.ico +0 -0
  332. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsp +988 -0
  333. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsw +29 -0
  334. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SfxWin.cpp +241 -0
  335. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.cpp +3 -0
  336. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.h +14 -0
  337. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/makefile +153 -0
  338. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/resource.h +1 -0
  339. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/resource.rc +50 -0
  340. package/android/jni/lzma/CPP/7zip/Common/CWrappers.cpp +250 -0
  341. package/android/jni/lzma/CPP/7zip/Common/CWrappers.h +120 -0
  342. package/android/jni/lzma/CPP/7zip/Common/CreateCoder.cpp +536 -0
  343. package/android/jni/lzma/CPP/7zip/Common/CreateCoder.h +192 -0
  344. package/android/jni/lzma/CPP/7zip/Common/FilePathAutoRename.cpp +46 -0
  345. package/android/jni/lzma/CPP/7zip/Common/FilePathAutoRename.h +10 -0
  346. package/android/jni/lzma/CPP/7zip/Common/FileStreams.cpp +475 -0
  347. package/android/jni/lzma/CPP/7zip/Common/FileStreams.h +166 -0
  348. package/android/jni/lzma/CPP/7zip/Common/FilterCoder.cpp +435 -0
  349. package/android/jni/lzma/CPP/7zip/Common/FilterCoder.h +205 -0
  350. package/android/jni/lzma/CPP/7zip/Common/InBuffer.cpp +163 -0
  351. package/android/jni/lzma/CPP/7zip/Common/InBuffer.h +92 -0
  352. package/android/jni/lzma/CPP/7zip/Common/InOutTempBuffer.cpp +127 -0
  353. package/android/jni/lzma/CPP/7zip/Common/InOutTempBuffer.h +48 -0
  354. package/android/jni/lzma/CPP/7zip/Common/LimitedStreams.cpp +367 -0
  355. package/android/jni/lzma/CPP/7zip/Common/LimitedStreams.h +252 -0
  356. package/android/jni/lzma/CPP/7zip/Common/LockedStream.cpp +3 -0
  357. package/android/jni/lzma/CPP/7zip/Common/LockedStream.h +6 -0
  358. package/android/jni/lzma/CPP/7zip/Common/MethodId.cpp +3 -0
  359. package/android/jni/lzma/CPP/7zip/Common/MethodId.h +10 -0
  360. package/android/jni/lzma/CPP/7zip/Common/MethodProps.cpp +509 -0
  361. package/android/jni/lzma/CPP/7zip/Common/MethodProps.h +264 -0
  362. package/android/jni/lzma/CPP/7zip/Common/OffsetStream.cpp +39 -0
  363. package/android/jni/lzma/CPP/7zip/Common/OffsetStream.h +26 -0
  364. package/android/jni/lzma/CPP/7zip/Common/OutBuffer.cpp +111 -0
  365. package/android/jni/lzma/CPP/7zip/Common/OutBuffer.h +66 -0
  366. package/android/jni/lzma/CPP/7zip/Common/ProgressUtils.cpp +51 -0
  367. package/android/jni/lzma/CPP/7zip/Common/ProgressUtils.h +35 -0
  368. package/android/jni/lzma/CPP/7zip/Common/PropId.cpp +108 -0
  369. package/android/jni/lzma/CPP/7zip/Common/RegisterArc.h +78 -0
  370. package/android/jni/lzma/CPP/7zip/Common/RegisterCodec.h +106 -0
  371. package/android/jni/lzma/CPP/7zip/Common/StdAfx.h +8 -0
  372. package/android/jni/lzma/CPP/7zip/Common/StreamBinder.cpp +156 -0
  373. package/android/jni/lzma/CPP/7zip/Common/StreamBinder.h +60 -0
  374. package/android/jni/lzma/CPP/7zip/Common/StreamObjects.cpp +285 -0
  375. package/android/jni/lzma/CPP/7zip/Common/StreamObjects.h +157 -0
  376. package/android/jni/lzma/CPP/7zip/Common/StreamUtils.cpp +56 -0
  377. package/android/jni/lzma/CPP/7zip/Common/StreamUtils.h +13 -0
  378. package/android/jni/lzma/CPP/7zip/Common/UniqBlocks.cpp +57 -0
  379. package/android/jni/lzma/CPP/7zip/Common/UniqBlocks.h +26 -0
  380. package/android/jni/lzma/CPP/7zip/Common/VirtThread.cpp +48 -0
  381. package/android/jni/lzma/CPP/7zip/Common/VirtThread.h +24 -0
  382. package/android/jni/lzma/CPP/7zip/Compress/Bcj2Coder.cpp +666 -0
  383. package/android/jni/lzma/CPP/7zip/Compress/Bcj2Coder.h +120 -0
  384. package/android/jni/lzma/CPP/7zip/Compress/Bcj2Register.cpp +24 -0
  385. package/android/jni/lzma/CPP/7zip/Compress/BcjCoder.cpp +24 -0
  386. package/android/jni/lzma/CPP/7zip/Compress/BcjCoder.h +31 -0
  387. package/android/jni/lzma/CPP/7zip/Compress/BcjRegister.cpp +17 -0
  388. package/android/jni/lzma/CPP/7zip/Compress/BranchMisc.cpp +23 -0
  389. package/android/jni/lzma/CPP/7zip/Compress/BranchMisc.h +35 -0
  390. package/android/jni/lzma/CPP/7zip/Compress/BranchRegister.cpp +41 -0
  391. package/android/jni/lzma/CPP/7zip/Compress/ByteSwap.cpp +92 -0
  392. package/android/jni/lzma/CPP/7zip/Compress/CodecExports.cpp +344 -0
  393. package/android/jni/lzma/CPP/7zip/Compress/CopyCoder.cpp +120 -0
  394. package/android/jni/lzma/CPP/7zip/Compress/CopyCoder.h +49 -0
  395. package/android/jni/lzma/CPP/7zip/Compress/CopyRegister.cpp +15 -0
  396. package/android/jni/lzma/CPP/7zip/Compress/DeltaFilter.cpp +128 -0
  397. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Decoder.cpp +265 -0
  398. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Decoder.h +96 -0
  399. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Encoder.cpp +122 -0
  400. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Encoder.h +42 -0
  401. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Register.cpp +22 -0
  402. package/android/jni/lzma/CPP/7zip/Compress/LzmaDecoder.cpp +343 -0
  403. package/android/jni/lzma/CPP/7zip/Compress/LzmaDecoder.h +113 -0
  404. package/android/jni/lzma/CPP/7zip/Compress/LzmaEncoder.cpp +182 -0
  405. package/android/jni/lzma/CPP/7zip/Compress/LzmaEncoder.h +46 -0
  406. package/android/jni/lzma/CPP/7zip/Compress/LzmaRegister.cpp +22 -0
  407. package/android/jni/lzma/CPP/7zip/Compress/PpmdDecoder.cpp +170 -0
  408. package/android/jni/lzma/CPP/7zip/Compress/PpmdDecoder.h +86 -0
  409. package/android/jni/lzma/CPP/7zip/Compress/PpmdEncoder.cpp +152 -0
  410. package/android/jni/lzma/CPP/7zip/Compress/PpmdEncoder.h +58 -0
  411. package/android/jni/lzma/CPP/7zip/Compress/PpmdRegister.cpp +22 -0
  412. package/android/jni/lzma/CPP/7zip/Compress/StdAfx.h +8 -0
  413. package/android/jni/lzma/CPP/7zip/Compress/XzDecoder.cpp +150 -0
  414. package/android/jni/lzma/CPP/7zip/Compress/XzDecoder.h +92 -0
  415. package/android/jni/lzma/CPP/7zip/Compress/XzEncoder.cpp +245 -0
  416. package/android/jni/lzma/CPP/7zip/Compress/XzEncoder.h +46 -0
  417. package/android/jni/lzma/CPP/7zip/Crc.mak +8 -0
  418. package/android/jni/lzma/CPP/7zip/Crc64.mak +8 -0
  419. package/android/jni/lzma/CPP/7zip/Crypto/7zAes.cpp +280 -0
  420. package/android/jni/lzma/CPP/7zip/Crypto/7zAes.h +118 -0
  421. package/android/jni/lzma/CPP/7zip/Crypto/7zAesRegister.cpp +17 -0
  422. package/android/jni/lzma/CPP/7zip/Crypto/MyAes.cpp +112 -0
  423. package/android/jni/lzma/CPP/7zip/Crypto/MyAes.h +57 -0
  424. package/android/jni/lzma/CPP/7zip/Crypto/MyAesReg.cpp +16 -0
  425. package/android/jni/lzma/CPP/7zip/Crypto/RandGen.cpp +233 -0
  426. package/android/jni/lzma/CPP/7zip/Crypto/RandGen.h +40 -0
  427. package/android/jni/lzma/CPP/7zip/Crypto/StdAfx.h +8 -0
  428. package/android/jni/lzma/CPP/7zip/GuiCommon.rc +84 -0
  429. package/android/jni/lzma/CPP/7zip/Guid.txt +220 -0
  430. package/android/jni/lzma/CPP/7zip/ICoder.h +399 -0
  431. package/android/jni/lzma/CPP/7zip/IDecl.h +28 -0
  432. package/android/jni/lzma/CPP/7zip/IPassword.h +23 -0
  433. package/android/jni/lzma/CPP/7zip/IProgress.h +19 -0
  434. package/android/jni/lzma/CPP/7zip/IStream.h +127 -0
  435. package/android/jni/lzma/CPP/7zip/LzmaDec.mak +5 -0
  436. package/android/jni/lzma/CPP/7zip/MyVersion.h +2 -0
  437. package/android/jni/lzma/CPP/7zip/MyVersionInfo.rc +2 -0
  438. package/android/jni/lzma/CPP/7zip/PropID.h +127 -0
  439. package/android/jni/lzma/CPP/7zip/SubBuild.mak +3 -0
  440. package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.cpp +993 -0
  441. package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.dsp +235 -0
  442. package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.dsw +29 -0
  443. package/android/jni/lzma/CPP/7zip/UI/Client7z/StdAfx.cpp +3 -0
  444. package/android/jni/lzma/CPP/7zip/UI/Client7z/StdAfx.h +8 -0
  445. package/android/jni/lzma/CPP/7zip/UI/Client7z/makefile +28 -0
  446. package/android/jni/lzma/CPP/7zip/UI/Client7z/resource.rc +3 -0
  447. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.cpp +1295 -0
  448. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.h +136 -0
  449. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp +1715 -0
  450. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.h +403 -0
  451. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveName.cpp +155 -0
  452. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveName.h +10 -0
  453. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.cpp +161 -0
  454. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.h +112 -0
  455. package/android/jni/lzma/CPP/7zip/UI/Common/Bench.cpp +3618 -0
  456. package/android/jni/lzma/CPP/7zip/UI/Common/Bench.h +77 -0
  457. package/android/jni/lzma/CPP/7zip/UI/Common/DefaultName.cpp +37 -0
  458. package/android/jni/lzma/CPP/7zip/UI/Common/DefaultName.h +11 -0
  459. package/android/jni/lzma/CPP/7zip/UI/Common/DirItem.h +190 -0
  460. package/android/jni/lzma/CPP/7zip/UI/Common/EnumDirItems.cpp +1096 -0
  461. package/android/jni/lzma/CPP/7zip/UI/Common/EnumDirItems.h +42 -0
  462. package/android/jni/lzma/CPP/7zip/UI/Common/ExitCode.h +27 -0
  463. package/android/jni/lzma/CPP/7zip/UI/Common/Extract.cpp +482 -0
  464. package/android/jni/lzma/CPP/7zip/UI/Common/Extract.h +94 -0
  465. package/android/jni/lzma/CPP/7zip/UI/Common/ExtractMode.h +34 -0
  466. package/android/jni/lzma/CPP/7zip/UI/Common/ExtractingFilePath.cpp +280 -0
  467. package/android/jni/lzma/CPP/7zip/UI/Common/ExtractingFilePath.h +31 -0
  468. package/android/jni/lzma/CPP/7zip/UI/Common/HashCalc.cpp +347 -0
  469. package/android/jni/lzma/CPP/7zip/UI/Common/HashCalc.h +110 -0
  470. package/android/jni/lzma/CPP/7zip/UI/Common/IFileExtractCallback.h +114 -0
  471. package/android/jni/lzma/CPP/7zip/UI/Common/LoadCodecs.cpp +1074 -0
  472. package/android/jni/lzma/CPP/7zip/UI/Common/LoadCodecs.h +424 -0
  473. package/android/jni/lzma/CPP/7zip/UI/Common/OpenArchive.cpp +3553 -0
  474. package/android/jni/lzma/CPP/7zip/UI/Common/OpenArchive.h +436 -0
  475. package/android/jni/lzma/CPP/7zip/UI/Common/PropIDUtils.cpp +668 -0
  476. package/android/jni/lzma/CPP/7zip/UI/Common/PropIDUtils.h +18 -0
  477. package/android/jni/lzma/CPP/7zip/UI/Common/Property.h +14 -0
  478. package/android/jni/lzma/CPP/7zip/UI/Common/SetProperties.cpp +80 -0
  479. package/android/jni/lzma/CPP/7zip/UI/Common/SetProperties.h +10 -0
  480. package/android/jni/lzma/CPP/7zip/UI/Common/SortUtils.cpp +25 -0
  481. package/android/jni/lzma/CPP/7zip/UI/Common/SortUtils.h +10 -0
  482. package/android/jni/lzma/CPP/7zip/UI/Common/StdAfx.h +8 -0
  483. package/android/jni/lzma/CPP/7zip/UI/Common/TempFiles.cpp +19 -0
  484. package/android/jni/lzma/CPP/7zip/UI/Common/TempFiles.h +16 -0
  485. package/android/jni/lzma/CPP/7zip/UI/Common/Update.cpp +1704 -0
  486. package/android/jni/lzma/CPP/7zip/UI/Common/Update.h +200 -0
  487. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateAction.cpp +64 -0
  488. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateAction.h +66 -0
  489. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateCallback.cpp +771 -0
  490. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateCallback.h +162 -0
  491. package/android/jni/lzma/CPP/7zip/UI/Common/UpdatePair.cpp +233 -0
  492. package/android/jni/lzma/CPP/7zip/UI/Common/UpdatePair.h +27 -0
  493. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateProduce.cpp +70 -0
  494. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateProduce.h +55 -0
  495. package/android/jni/lzma/CPP/7zip/UI/Common/WorkDir.cpp +94 -0
  496. package/android/jni/lzma/CPP/7zip/UI/Common/WorkDir.h +26 -0
  497. package/android/jni/lzma/CPP/7zip/UI/Common/ZipRegistry.h +130 -0
  498. package/android/jni/lzma/CPP/7zip/UI/Console/BenchCon.cpp +41 -0
  499. package/android/jni/lzma/CPP/7zip/UI/Console/BenchCon.h +14 -0
  500. package/android/jni/lzma/CPP/7zip/UI/Console/Console.mak +43 -0
  501. package/android/jni/lzma/CPP/7zip/UI/Console/Console.manifest +13 -0
  502. package/android/jni/lzma/CPP/7zip/UI/Console/ConsoleClose.cpp +69 -0
  503. package/android/jni/lzma/CPP/7zip/UI/Console/ConsoleClose.h +33 -0
  504. package/android/jni/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.cpp +825 -0
  505. package/android/jni/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.h +164 -0
  506. package/android/jni/lzma/CPP/7zip/UI/Console/HashCon.cpp +367 -0
  507. package/android/jni/lzma/CPP/7zip/UI/Console/HashCon.h +48 -0
  508. package/android/jni/lzma/CPP/7zip/UI/Console/List.cpp +1359 -0
  509. package/android/jni/lzma/CPP/7zip/UI/Console/List.h +27 -0
  510. package/android/jni/lzma/CPP/7zip/UI/Console/Main.cpp +1154 -0
  511. package/android/jni/lzma/CPP/7zip/UI/Console/MainAr.cpp +175 -0
  512. package/android/jni/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.cpp +115 -0
  513. package/android/jni/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.h +66 -0
  514. package/android/jni/lzma/CPP/7zip/UI/Console/PercentPrinter.cpp +183 -0
  515. package/android/jni/lzma/CPP/7zip/UI/Console/PercentPrinter.h +62 -0
  516. package/android/jni/lzma/CPP/7zip/UI/Console/StdAfx.cpp +3 -0
  517. package/android/jni/lzma/CPP/7zip/UI/Console/StdAfx.h +8 -0
  518. package/android/jni/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.cpp +702 -0
  519. package/android/jni/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.h +124 -0
  520. package/android/jni/lzma/CPP/7zip/UI/Console/UserInputUtils.cpp +110 -0
  521. package/android/jni/lzma/CPP/7zip/UI/Console/UserInputUtils.h +27 -0
  522. package/android/jni/lzma/CPP/7zip/UI/Console/makefile +64 -0
  523. package/android/jni/lzma/CPP/7zip/UI/Console/resource.rc +7 -0
  524. package/android/jni/lzma/CPP/7zip/UI/Explorer/MyMessages.cpp +37 -0
  525. package/android/jni/lzma/CPP/7zip/UI/Explorer/MyMessages.h +16 -0
  526. package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialog.cpp +1025 -0
  527. package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialog.h +21 -0
  528. package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialogRes.h +9 -0
  529. package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialog.cpp +64 -0
  530. package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialog.h +28 -0
  531. package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialogRes.h +4 -0
  532. package/android/jni/lzma/CPP/7zip/UI/FileManager/DialogSize.h +16 -0
  533. package/android/jni/lzma/CPP/7zip/UI/FileManager/ExtractCallback.cpp +1037 -0
  534. package/android/jni/lzma/CPP/7zip/UI/FileManager/ExtractCallback.h +328 -0
  535. package/android/jni/lzma/CPP/7zip/UI/FileManager/FormatUtils.cpp +28 -0
  536. package/android/jni/lzma/CPP/7zip/UI/FileManager/FormatUtils.h +14 -0
  537. package/android/jni/lzma/CPP/7zip/UI/FileManager/LangUtils.h +40 -0
  538. package/android/jni/lzma/CPP/7zip/UI/FileManager/MyWindowsNew.h +76 -0
  539. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.cpp +122 -0
  540. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.h +69 -0
  541. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.rc +91 -0
  542. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialogRes.h +17 -0
  543. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.cpp +58 -0
  544. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.h +28 -0
  545. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.rc +14 -0
  546. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialogRes.h +5 -0
  547. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.cpp +196 -0
  548. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.h +170 -0
  549. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.rc +12 -0
  550. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.cpp +1337 -0
  551. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.h +351 -0
  552. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.rc +40 -0
  553. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2Res.h +48 -0
  554. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2a.rc +80 -0
  555. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialogRes.h +3 -0
  556. package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyName.cpp +23 -0
  557. package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyName.h +10 -0
  558. package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyNameRes.h +95 -0
  559. package/android/jni/lzma/CPP/7zip/UI/FileManager/SysIconUtils.cpp +255 -0
  560. package/android/jni/lzma/CPP/7zip/UI/FileManager/SysIconUtils.h +62 -0
  561. package/android/jni/lzma/CPP/7zip/UI/FileManager/resource.h +177 -0
  562. package/android/jni/lzma/CPP/7zip/UI/FileManager/resourceGui.h +15 -0
  563. package/android/jni/lzma/CPP/7zip/UI/GUI/Extract.rc +59 -0
  564. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.cpp +418 -0
  565. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.h +113 -0
  566. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.rc +98 -0
  567. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialogRes.h +24 -0
  568. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractGUI.cpp +280 -0
  569. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractGUI.h +38 -0
  570. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractRes.h +51 -0
  571. package/android/jni/lzma/CPP/7zip/UI/GUI/HashGUI.h +27 -0
  572. package/android/jni/lzma/CPP/7zip/UI/GUI/resource2.h +2 -0
  573. package/android/jni/lzma/CPP/Build.mak +156 -0
  574. package/android/jni/lzma/CPP/Common/AutoPtr.h +35 -0
  575. package/android/jni/lzma/CPP/Common/CRC.cpp +7 -0
  576. package/android/jni/lzma/CPP/Common/C_FileIO.cpp +92 -0
  577. package/android/jni/lzma/CPP/Common/C_FileIO.h +53 -0
  578. package/android/jni/lzma/CPP/Common/ComTry.h +21 -0
  579. package/android/jni/lzma/CPP/Common/CommandLineParser.cpp +197 -0
  580. package/android/jni/lzma/CPP/Common/CommandLineParser.h +63 -0
  581. package/android/jni/lzma/CPP/Common/Common.h +43 -0
  582. package/android/jni/lzma/CPP/Common/CrcReg.cpp +98 -0
  583. package/android/jni/lzma/CPP/Common/Defs.h +15 -0
  584. package/android/jni/lzma/CPP/Common/DynamicBuffer.h +64 -0
  585. package/android/jni/lzma/CPP/Common/IntToString.cpp +193 -0
  586. package/android/jni/lzma/CPP/Common/IntToString.h +28 -0
  587. package/android/jni/lzma/CPP/Common/Lang.h +23 -0
  588. package/android/jni/lzma/CPP/Common/ListFileUtils.cpp +132 -0
  589. package/android/jni/lzma/CPP/Common/ListFileUtils.h +18 -0
  590. package/android/jni/lzma/CPP/Common/MyBuffer.h +259 -0
  591. package/android/jni/lzma/CPP/Common/MyBuffer2.h +100 -0
  592. package/android/jni/lzma/CPP/Common/MyCom.h +277 -0
  593. package/android/jni/lzma/CPP/Common/MyException.h +14 -0
  594. package/android/jni/lzma/CPP/Common/MyGuidDef.h +54 -0
  595. package/android/jni/lzma/CPP/Common/MyInitGuid.h +45 -0
  596. package/android/jni/lzma/CPP/Common/MyLinux.h +42 -0
  597. package/android/jni/lzma/CPP/Common/MyString.cpp +1659 -0
  598. package/android/jni/lzma/CPP/Common/MyString.h +868 -0
  599. package/android/jni/lzma/CPP/Common/MyTypes.h +35 -0
  600. package/android/jni/lzma/CPP/Common/MyUnknown.h +17 -0
  601. package/android/jni/lzma/CPP/Common/MyVector.cpp +3 -0
  602. package/android/jni/lzma/CPP/Common/MyVector.h +634 -0
  603. package/android/jni/lzma/CPP/Common/MyWindows.cpp +145 -0
  604. package/android/jni/lzma/CPP/Common/MyWindows.h +231 -0
  605. package/android/jni/lzma/CPP/Common/NewHandler.cpp +163 -0
  606. package/android/jni/lzma/CPP/Common/NewHandler.h +88 -0
  607. package/android/jni/lzma/CPP/Common/Sha256Reg.cpp +40 -0
  608. package/android/jni/lzma/CPP/Common/StdAfx.h +8 -0
  609. package/android/jni/lzma/CPP/Common/StdInStream.cpp +89 -0
  610. package/android/jni/lzma/CPP/Common/StdInStream.h +38 -0
  611. package/android/jni/lzma/CPP/Common/StdOutStream.cpp +163 -0
  612. package/android/jni/lzma/CPP/Common/StdOutStream.h +71 -0
  613. package/android/jni/lzma/CPP/Common/StringConvert.cpp +319 -0
  614. package/android/jni/lzma/CPP/Common/StringConvert.h +88 -0
  615. package/android/jni/lzma/CPP/Common/StringToInt.cpp +144 -0
  616. package/android/jni/lzma/CPP/Common/StringToInt.h +21 -0
  617. package/android/jni/lzma/CPP/Common/TextConfig.cpp +124 -0
  618. package/android/jni/lzma/CPP/Common/TextConfig.h +19 -0
  619. package/android/jni/lzma/CPP/Common/UTFConvert.cpp +288 -0
  620. package/android/jni/lzma/CPP/Common/UTFConvert.h +12 -0
  621. package/android/jni/lzma/CPP/Common/Wildcard.cpp +676 -0
  622. package/android/jni/lzma/CPP/Common/Wildcard.h +149 -0
  623. package/android/jni/lzma/CPP/Common/XzCrc64Init.cpp +7 -0
  624. package/android/jni/lzma/CPP/Common/XzCrc64Reg.cpp +42 -0
  625. package/android/jni/lzma/CPP/Windows/COM.h +70 -0
  626. package/android/jni/lzma/CPP/Windows/CommonDialog.cpp +185 -0
  627. package/android/jni/lzma/CPP/Windows/CommonDialog.h +23 -0
  628. package/android/jni/lzma/CPP/Windows/Control/ComboBox.cpp +66 -0
  629. package/android/jni/lzma/CPP/Windows/Control/ComboBox.h +65 -0
  630. package/android/jni/lzma/CPP/Windows/Control/CommandBar.h +52 -0
  631. package/android/jni/lzma/CPP/Windows/Control/Dialog.cpp +251 -0
  632. package/android/jni/lzma/CPP/Windows/Control/Dialog.h +170 -0
  633. package/android/jni/lzma/CPP/Windows/Control/Edit.h +19 -0
  634. package/android/jni/lzma/CPP/Windows/Control/ImageList.cpp +10 -0
  635. package/android/jni/lzma/CPP/Windows/Control/ImageList.h +87 -0
  636. package/android/jni/lzma/CPP/Windows/Control/ListView.cpp +155 -0
  637. package/android/jni/lzma/CPP/Windows/Control/ListView.h +146 -0
  638. package/android/jni/lzma/CPP/Windows/Control/ProgressBar.h +35 -0
  639. package/android/jni/lzma/CPP/Windows/Control/PropertyPage.cpp +143 -0
  640. package/android/jni/lzma/CPP/Windows/Control/PropertyPage.h +50 -0
  641. package/android/jni/lzma/CPP/Windows/Control/ReBar.h +34 -0
  642. package/android/jni/lzma/CPP/Windows/Control/Static.h +28 -0
  643. package/android/jni/lzma/CPP/Windows/Control/StatusBar.h +42 -0
  644. package/android/jni/lzma/CPP/Windows/Control/StdAfx.h +8 -0
  645. package/android/jni/lzma/CPP/Windows/Control/ToolBar.h +43 -0
  646. package/android/jni/lzma/CPP/Windows/Control/Trackbar.h +27 -0
  647. package/android/jni/lzma/CPP/Windows/Control/Window2.cpp +200 -0
  648. package/android/jni/lzma/CPP/Windows/Control/Window2.h +51 -0
  649. package/android/jni/lzma/CPP/Windows/DLL.cpp +109 -0
  650. package/android/jni/lzma/CPP/Windows/DLL.h +58 -0
  651. package/android/jni/lzma/CPP/Windows/Defs.h +17 -0
  652. package/android/jni/lzma/CPP/Windows/ErrorMsg.cpp +66 -0
  653. package/android/jni/lzma/CPP/Windows/ErrorMsg.h +15 -0
  654. package/android/jni/lzma/CPP/Windows/FileDir.cpp +714 -0
  655. package/android/jni/lzma/CPP/Windows/FileDir.h +117 -0
  656. package/android/jni/lzma/CPP/Windows/FileFind.cpp +749 -0
  657. package/android/jni/lzma/CPP/Windows/FileFind.h +161 -0
  658. package/android/jni/lzma/CPP/Windows/FileIO.cpp +432 -0
  659. package/android/jni/lzma/CPP/Windows/FileIO.h +212 -0
  660. package/android/jni/lzma/CPP/Windows/FileLink.cpp +440 -0
  661. package/android/jni/lzma/CPP/Windows/FileMapping.cpp +12 -0
  662. package/android/jni/lzma/CPP/Windows/FileMapping.h +66 -0
  663. package/android/jni/lzma/CPP/Windows/FileName.cpp +839 -0
  664. package/android/jni/lzma/CPP/Windows/FileName.h +115 -0
  665. package/android/jni/lzma/CPP/Windows/FileSystem.cpp +131 -0
  666. package/android/jni/lzma/CPP/Windows/FileSystem.h +27 -0
  667. package/android/jni/lzma/CPP/Windows/Handle.h +37 -0
  668. package/android/jni/lzma/CPP/Windows/MemoryLock.cpp +112 -0
  669. package/android/jni/lzma/CPP/Windows/MemoryLock.h +40 -0
  670. package/android/jni/lzma/CPP/Windows/NtCheck.h +46 -0
  671. package/android/jni/lzma/CPP/Windows/PropVariant.cpp +347 -0
  672. package/android/jni/lzma/CPP/Windows/PropVariant.h +114 -0
  673. package/android/jni/lzma/CPP/Windows/PropVariantConv.cpp +138 -0
  674. package/android/jni/lzma/CPP/Windows/PropVariantConv.h +37 -0
  675. package/android/jni/lzma/CPP/Windows/Registry.cpp +390 -0
  676. package/android/jni/lzma/CPP/Windows/Registry.h +84 -0
  677. package/android/jni/lzma/CPP/Windows/ResourceString.cpp +103 -0
  678. package/android/jni/lzma/CPP/Windows/ResourceString.h +16 -0
  679. package/android/jni/lzma/CPP/Windows/SecurityUtils.cpp +181 -0
  680. package/android/jni/lzma/CPP/Windows/SecurityUtils.h +167 -0
  681. package/android/jni/lzma/CPP/Windows/Shell.cpp +358 -0
  682. package/android/jni/lzma/CPP/Windows/Shell.h +94 -0
  683. package/android/jni/lzma/CPP/Windows/StdAfx.h +8 -0
  684. package/android/jni/lzma/CPP/Windows/Synchronization.cpp +10 -0
  685. package/android/jni/lzma/CPP/Windows/Synchronization.h +164 -0
  686. package/android/jni/lzma/CPP/Windows/System.cpp +142 -0
  687. package/android/jni/lzma/CPP/Windows/System.h +40 -0
  688. package/android/jni/lzma/CPP/Windows/Thread.h +38 -0
  689. package/android/jni/lzma/CPP/Windows/TimeUtils.cpp +213 -0
  690. package/android/jni/lzma/CPP/Windows/TimeUtils.h +32 -0
  691. package/android/jni/lzma/CPP/Windows/Window.cpp +179 -0
  692. package/android/jni/lzma/CPP/Windows/Window.h +284 -0
  693. package/android/jni/lzma/CS/7zip/Common/CRC.cs +55 -0
  694. package/android/jni/lzma/CS/7zip/Common/CommandLineParser.cs +274 -0
  695. package/android/jni/lzma/CS/7zip/Common/InBuffer.cs +72 -0
  696. package/android/jni/lzma/CS/7zip/Common/OutBuffer.cs +47 -0
  697. package/android/jni/lzma/CS/7zip/Compress/LZ/IMatchFinder.cs +24 -0
  698. package/android/jni/lzma/CS/7zip/Compress/LZ/LzBinTree.cs +367 -0
  699. package/android/jni/lzma/CS/7zip/Compress/LZ/LzInWindow.cs +132 -0
  700. package/android/jni/lzma/CS/7zip/Compress/LZ/LzOutWindow.cs +110 -0
  701. package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaBase.cs +76 -0
  702. package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaDecoder.cs +398 -0
  703. package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaEncoder.cs +1480 -0
  704. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.cs +364 -0
  705. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.csproj +90 -0
  706. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.sln +20 -0
  707. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaBench.cs +340 -0
  708. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/AssemblyInfo.cs +29 -0
  709. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/Resources.cs +70 -0
  710. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/Settings.cs +42 -0
  711. package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoder.cs +234 -0
  712. package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBit.cs +117 -0
  713. package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBitTree.cs +157 -0
  714. package/android/jni/lzma/CS/7zip/ICoder.cs +157 -0
  715. package/android/jni/lzma/DOC/7zC.txt +187 -0
  716. package/android/jni/lzma/DOC/7zFormat.txt +469 -0
  717. package/android/jni/lzma/DOC/Methods.txt +173 -0
  718. package/android/jni/lzma/DOC/installer.txt +166 -0
  719. package/android/jni/lzma/DOC/lzma-history.txt +446 -0
  720. package/android/jni/lzma/DOC/lzma-sdk.txt +357 -0
  721. package/android/jni/lzma/DOC/lzma-specification.txt +1176 -0
  722. package/android/jni/lzma/DOC/lzma.txt +328 -0
  723. package/android/jni/lzma/Java/SevenZip/CRC.java +52 -0
  724. package/android/jni/lzma/Java/SevenZip/Compression/LZ/BinTree.java +382 -0
  725. package/android/jni/lzma/Java/SevenZip/Compression/LZ/InWindow.java +131 -0
  726. package/android/jni/lzma/Java/SevenZip/Compression/LZ/OutWindow.java +85 -0
  727. package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Base.java +88 -0
  728. package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Decoder.java +329 -0
  729. package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Encoder.java +1416 -0
  730. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeDecoder.java +55 -0
  731. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeEncoder.java +99 -0
  732. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/Decoder.java +88 -0
  733. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/Encoder.java +151 -0
  734. package/android/jni/lzma/Java/SevenZip/ICodeProgress.java +6 -0
  735. package/android/jni/lzma/Java/SevenZip/LzmaAlone.java +253 -0
  736. package/android/jni/lzma/Java/SevenZip/LzmaBench.java +392 -0
  737. package/android/jni/lzma/bin/7zS2.sfx +0 -0
  738. package/android/jni/lzma/bin/7zS2con.sfx +0 -0
  739. package/android/jni/lzma/bin/7zSD.sfx +0 -0
  740. package/android/jni/lzma/bin/7zdec.exe +0 -0
  741. package/android/jni/lzma/bin/7zr.exe +0 -0
  742. package/android/jni/lzma/bin/installer/config.txt +5 -0
  743. package/android/jni/lzma/bin/installer/cr.bat +5 -0
  744. package/android/jni/lzma/bin/lzma.exe +0 -0
  745. package/android/jni/lzma/bin/x64/7zr.exe +0 -0
  746. package/ios/pushy_build_time.txt +1 -1
  747. package/lib/index.d.ts +8 -1
  748. package/lib/simpleUpdate.js +5 -4
  749. package/package.json +2 -1
@@ -0,0 +1,1074 @@
1
+ // LoadCodecs.cpp
2
+
3
+ /*
4
+ EXTERNAL_CODECS
5
+ ---------------
6
+ CCodecs::Load() tries to detect the directory with plugins.
7
+ It stops the checking, if it can find any of the following items:
8
+ - 7z.dll file
9
+ - "Formats" subdir
10
+ - "Codecs" subdir
11
+ The order of check:
12
+ 1) directory of client executable
13
+ 2) WIN32: directory for REGISTRY item [HKEY_*\Software\7-Zip\Path**]
14
+ The order for HKEY_* : Path** :
15
+ - HKEY_CURRENT_USER : PathXX
16
+ - HKEY_LOCAL_MACHINE : PathXX
17
+ - HKEY_CURRENT_USER : Path
18
+ - HKEY_LOCAL_MACHINE : Path
19
+ PathXX is Path32 in 32-bit code
20
+ PathXX is Path64 in 64-bit code
21
+
22
+
23
+ EXPORT_CODECS
24
+ -------------
25
+ if (EXTERNAL_CODECS) is defined, then the code exports internal
26
+ codecs of client from CCodecs object to external plugins.
27
+ 7-Zip doesn't use that feature. 7-Zip uses the scheme:
28
+ - client application without internal plugins.
29
+ - 7z.dll module contains all (or almost all) plugins.
30
+ 7z.dll can use codecs from another plugins, if required.
31
+ */
32
+
33
+
34
+ #include "StdAfx.h"
35
+
36
+ #include "../../../../C/7zVersion.h"
37
+
38
+ #include "../../../Common/MyCom.h"
39
+ #include "../../../Common/StringToInt.h"
40
+ #include "../../../Common/StringConvert.h"
41
+
42
+ #include "../../../Windows/PropVariant.h"
43
+
44
+ #include "LoadCodecs.h"
45
+
46
+ using namespace NWindows;
47
+
48
+ #ifdef NEW_FOLDER_INTERFACE
49
+ #include "../../../Common/StringToInt.h"
50
+ #endif
51
+
52
+ #include "../../ICoder.h"
53
+ #include "../../Common/RegisterArc.h"
54
+
55
+ #ifdef EXTERNAL_CODECS
56
+
57
+ // #define EXPORT_CODECS
58
+
59
+ #endif
60
+
61
+ #ifdef NEW_FOLDER_INTERFACE
62
+ extern HINSTANCE g_hInstance;
63
+ #include "../../../Windows/ResourceString.h"
64
+ static const UINT kIconTypesResId = 100;
65
+ #endif
66
+
67
+ #ifdef EXTERNAL_CODECS
68
+
69
+ #include "../../../Windows/FileFind.h"
70
+ #include "../../../Windows/DLL.h"
71
+
72
+ #ifdef _WIN32
73
+ #include "../../../Windows/FileName.h"
74
+ #include "../../../Windows/Registry.h"
75
+ #endif
76
+
77
+ using namespace NFile;
78
+
79
+
80
+ #define kCodecsFolderName FTEXT("Codecs")
81
+ #define kFormatsFolderName FTEXT("Formats")
82
+
83
+
84
+ static CFSTR const kMainDll =
85
+ // #ifdef _WIN32
86
+ FTEXT("7z.dll");
87
+ // #else
88
+ // FTEXT("7z.so");
89
+ // #endif
90
+
91
+
92
+ #ifdef _WIN32
93
+
94
+ static LPCTSTR const kRegistryPath = TEXT("Software") TEXT(STRING_PATH_SEPARATOR) TEXT("7-zip");
95
+ static LPCWSTR const kProgramPathValue = L"Path";
96
+ static LPCWSTR const kProgramPath2Value = L"Path"
97
+ #ifdef _WIN64
98
+ L"64";
99
+ #else
100
+ L"32";
101
+ #endif
102
+
103
+ static bool ReadPathFromRegistry(HKEY baseKey, LPCWSTR value, FString &path)
104
+ {
105
+ NRegistry::CKey key;
106
+ if (key.Open(baseKey, kRegistryPath, KEY_READ) == ERROR_SUCCESS)
107
+ {
108
+ UString pathU;
109
+ if (key.QueryValue(value, pathU) == ERROR_SUCCESS)
110
+ {
111
+ path = us2fs(pathU);
112
+ NName::NormalizeDirPathPrefix(path);
113
+ return NFind::DoesFileExist(path + kMainDll);
114
+ }
115
+ }
116
+ return false;
117
+ }
118
+
119
+ #endif // _WIN32
120
+
121
+ #endif // EXTERNAL_CODECS
122
+
123
+
124
+ static const unsigned kNumArcsMax = 64;
125
+ static unsigned g_NumArcs = 0;
126
+ static const CArcInfo *g_Arcs[kNumArcsMax];
127
+
128
+ void RegisterArc(const CArcInfo *arcInfo) throw()
129
+ {
130
+ if (g_NumArcs < kNumArcsMax)
131
+ {
132
+ g_Arcs[g_NumArcs] = arcInfo;
133
+ g_NumArcs++;
134
+ }
135
+ }
136
+
137
+ static void SplitString(const UString &srcString, UStringVector &destStrings)
138
+ {
139
+ destStrings.Clear();
140
+ UString s;
141
+ unsigned len = srcString.Len();
142
+ if (len == 0)
143
+ return;
144
+ for (unsigned i = 0; i < len; i++)
145
+ {
146
+ wchar_t c = srcString[i];
147
+ if (c == L' ')
148
+ {
149
+ if (!s.IsEmpty())
150
+ {
151
+ destStrings.Add(s);
152
+ s.Empty();
153
+ }
154
+ }
155
+ else
156
+ s += c;
157
+ }
158
+ if (!s.IsEmpty())
159
+ destStrings.Add(s);
160
+ }
161
+
162
+ int CArcInfoEx::FindExtension(const UString &ext) const
163
+ {
164
+ FOR_VECTOR (i, Exts)
165
+ if (ext.IsEqualTo_NoCase(Exts[i].Ext))
166
+ return i;
167
+ return -1;
168
+ }
169
+
170
+ void CArcInfoEx::AddExts(const UString &ext, const UString &addExt)
171
+ {
172
+ UStringVector exts, addExts;
173
+ SplitString(ext, exts);
174
+ SplitString(addExt, addExts);
175
+ FOR_VECTOR (i, exts)
176
+ {
177
+ CArcExtInfo extInfo;
178
+ extInfo.Ext = exts[i];
179
+ if (i < addExts.Size())
180
+ {
181
+ extInfo.AddExt = addExts[i];
182
+ if (extInfo.AddExt == L"*")
183
+ extInfo.AddExt.Empty();
184
+ }
185
+ Exts.Add(extInfo);
186
+ }
187
+ }
188
+
189
+ #ifndef _SFX
190
+
191
+ static bool ParseSignatures(const Byte *data, unsigned size, CObjectVector<CByteBuffer> &signatures)
192
+ {
193
+ signatures.Clear();
194
+ while (size > 0)
195
+ {
196
+ unsigned len = *data++;
197
+ size--;
198
+ if (len > size)
199
+ return false;
200
+ signatures.AddNew().CopyFrom(data, len);
201
+ data += len;
202
+ size -= len;
203
+ }
204
+ return true;
205
+ }
206
+
207
+ #endif // _SFX
208
+
209
+ #ifdef EXTERNAL_CODECS
210
+
211
+ static FString GetBaseFolderPrefixFromRegistry()
212
+ {
213
+ FString moduleFolderPrefix = NDLL::GetModuleDirPrefix();
214
+ #ifdef _WIN32
215
+ if (!NFind::DoesFileExist(moduleFolderPrefix + kMainDll) &&
216
+ !NFind::DoesDirExist(moduleFolderPrefix + kCodecsFolderName) &&
217
+ !NFind::DoesDirExist(moduleFolderPrefix + kFormatsFolderName))
218
+ {
219
+ FString path;
220
+ if (ReadPathFromRegistry(HKEY_CURRENT_USER, kProgramPath2Value, path)) return path;
221
+ if (ReadPathFromRegistry(HKEY_LOCAL_MACHINE, kProgramPath2Value, path)) return path;
222
+ if (ReadPathFromRegistry(HKEY_CURRENT_USER, kProgramPathValue, path)) return path;
223
+ if (ReadPathFromRegistry(HKEY_LOCAL_MACHINE, kProgramPathValue, path)) return path;
224
+ }
225
+ #endif
226
+ return moduleFolderPrefix;
227
+ }
228
+
229
+
230
+ static HRESULT GetCoderClass(Func_GetMethodProperty getMethodProperty, UInt32 index,
231
+ PROPID propId, CLSID &clsId, bool &isAssigned)
232
+ {
233
+ NCOM::CPropVariant prop;
234
+ isAssigned = false;
235
+ RINOK(getMethodProperty(index, propId, &prop));
236
+ if (prop.vt == VT_BSTR)
237
+ {
238
+ if (::SysStringByteLen(prop.bstrVal) != sizeof(GUID))
239
+ return E_FAIL;
240
+ isAssigned = true;
241
+ clsId = *(const GUID *)prop.bstrVal;
242
+ }
243
+ else if (prop.vt != VT_EMPTY)
244
+ return E_FAIL;
245
+ return S_OK;
246
+ }
247
+
248
+ HRESULT CCodecs::LoadCodecs()
249
+ {
250
+ CCodecLib &lib = Libs.Back();
251
+
252
+ lib.CreateDecoder = (Func_CreateDecoder)lib.Lib.GetProc("CreateDecoder");
253
+ lib.CreateEncoder = (Func_CreateEncoder)lib.Lib.GetProc("CreateEncoder");
254
+ lib.GetMethodProperty = (Func_GetMethodProperty)lib.Lib.GetProc("GetMethodProperty");
255
+
256
+ if (lib.GetMethodProperty)
257
+ {
258
+ UInt32 numMethods = 1;
259
+ Func_GetNumberOfMethods getNumberOfMethods = (Func_GetNumberOfMethods)lib.Lib.GetProc("GetNumberOfMethods");
260
+ if (getNumberOfMethods)
261
+ {
262
+ RINOK(getNumberOfMethods(&numMethods));
263
+ }
264
+ for (UInt32 i = 0; i < numMethods; i++)
265
+ {
266
+ CDllCodecInfo info;
267
+ info.LibIndex = Libs.Size() - 1;
268
+ info.CodecIndex = i;
269
+ RINOK(GetCoderClass(lib.GetMethodProperty, i, NMethodPropID::kEncoder, info.Encoder, info.EncoderIsAssigned));
270
+ RINOK(GetCoderClass(lib.GetMethodProperty, i, NMethodPropID::kDecoder, info.Decoder, info.DecoderIsAssigned));
271
+ Codecs.Add(info);
272
+ }
273
+ }
274
+
275
+ Func_GetHashers getHashers = (Func_GetHashers)lib.Lib.GetProc("GetHashers");
276
+ if (getHashers)
277
+ {
278
+ RINOK(getHashers(&lib.ComHashers));
279
+ if (lib.ComHashers)
280
+ {
281
+ UInt32 numMethods = lib.ComHashers->GetNumHashers();
282
+ for (UInt32 i = 0; i < numMethods; i++)
283
+ {
284
+ CDllHasherInfo info;
285
+ info.LibIndex = Libs.Size() - 1;
286
+ info.HasherIndex = i;
287
+ Hashers.Add(info);
288
+ }
289
+ }
290
+ }
291
+
292
+ return S_OK;
293
+ }
294
+
295
+ static HRESULT GetProp(
296
+ Func_GetHandlerProperty getProp,
297
+ Func_GetHandlerProperty2 getProp2,
298
+ UInt32 index, PROPID propID, NCOM::CPropVariant &prop)
299
+ {
300
+ if (getProp2)
301
+ return getProp2(index, propID, &prop);;
302
+ return getProp(propID, &prop);
303
+ }
304
+
305
+ static HRESULT GetProp_Bool(
306
+ Func_GetHandlerProperty getProp,
307
+ Func_GetHandlerProperty2 getProp2,
308
+ UInt32 index, PROPID propID, bool &res)
309
+ {
310
+ res = false;
311
+ NCOM::CPropVariant prop;
312
+ RINOK(GetProp(getProp, getProp2, index, propID, prop));
313
+ if (prop.vt == VT_BOOL)
314
+ res = VARIANT_BOOLToBool(prop.boolVal);
315
+ else if (prop.vt != VT_EMPTY)
316
+ return E_FAIL;
317
+ return S_OK;
318
+ }
319
+
320
+ static HRESULT GetProp_UInt32(
321
+ Func_GetHandlerProperty getProp,
322
+ Func_GetHandlerProperty2 getProp2,
323
+ UInt32 index, PROPID propID, UInt32 &res, bool &defined)
324
+ {
325
+ res = 0;
326
+ defined = false;
327
+ NCOM::CPropVariant prop;
328
+ RINOK(GetProp(getProp, getProp2, index, propID, prop));
329
+ if (prop.vt == VT_UI4)
330
+ {
331
+ res = prop.ulVal;
332
+ defined = true;
333
+ }
334
+ else if (prop.vt != VT_EMPTY)
335
+ return E_FAIL;
336
+ return S_OK;
337
+ }
338
+
339
+ static HRESULT GetProp_String(
340
+ Func_GetHandlerProperty getProp,
341
+ Func_GetHandlerProperty2 getProp2,
342
+ UInt32 index, PROPID propID, UString &res)
343
+ {
344
+ res.Empty();
345
+ NCOM::CPropVariant prop;
346
+ RINOK(GetProp(getProp, getProp2, index, propID, prop));
347
+ if (prop.vt == VT_BSTR)
348
+ res.SetFromBstr(prop.bstrVal);
349
+ else if (prop.vt != VT_EMPTY)
350
+ return E_FAIL;
351
+ return S_OK;
352
+ }
353
+
354
+ static HRESULT GetProp_RawData(
355
+ Func_GetHandlerProperty getProp,
356
+ Func_GetHandlerProperty2 getProp2,
357
+ UInt32 index, PROPID propID, CByteBuffer &bb)
358
+ {
359
+ bb.Free();
360
+ NCOM::CPropVariant prop;
361
+ RINOK(GetProp(getProp, getProp2, index, propID, prop));
362
+ if (prop.vt == VT_BSTR)
363
+ {
364
+ UINT len = ::SysStringByteLen(prop.bstrVal);
365
+ bb.CopyFrom((const Byte *)prop.bstrVal, len);
366
+ }
367
+ else if (prop.vt != VT_EMPTY)
368
+ return E_FAIL;
369
+ return S_OK;
370
+ }
371
+
372
+ static const UInt32 kArcFlagsPars[] =
373
+ {
374
+ NArchive::NHandlerPropID::kKeepName, NArcInfoFlags::kKeepName,
375
+ NArchive::NHandlerPropID::kAltStreams, NArcInfoFlags::kAltStreams,
376
+ NArchive::NHandlerPropID::kNtSecure, NArcInfoFlags::kNtSecure
377
+ };
378
+
379
+ HRESULT CCodecs::LoadFormats()
380
+ {
381
+ const NDLL::CLibrary &lib = Libs.Back().Lib;
382
+
383
+ Func_GetHandlerProperty getProp = NULL;
384
+ Func_GetHandlerProperty2 getProp2 = (Func_GetHandlerProperty2)lib.GetProc("GetHandlerProperty2");
385
+ Func_GetIsArc getIsArc = (Func_GetIsArc)lib.GetProc("GetIsArc");
386
+
387
+ UInt32 numFormats = 1;
388
+
389
+ if (getProp2)
390
+ {
391
+ Func_GetNumberOfFormats getNumberOfFormats = (Func_GetNumberOfFormats)lib.GetProc("GetNumberOfFormats");
392
+ if (getNumberOfFormats)
393
+ {
394
+ RINOK(getNumberOfFormats(&numFormats));
395
+ }
396
+ }
397
+ else
398
+ {
399
+ getProp = (Func_GetHandlerProperty)lib.GetProc("GetHandlerProperty");
400
+ if (!getProp)
401
+ return S_OK;
402
+ }
403
+
404
+ for (UInt32 i = 0; i < numFormats; i++)
405
+ {
406
+ CArcInfoEx item;
407
+ item.LibIndex = Libs.Size() - 1;
408
+ item.FormatIndex = i;
409
+
410
+ RINOK(GetProp_String(getProp, getProp2, i, NArchive::NHandlerPropID::kName, item.Name));
411
+
412
+ {
413
+ NCOM::CPropVariant prop;
414
+ if (GetProp(getProp, getProp2, i, NArchive::NHandlerPropID::kClassID, prop) != S_OK)
415
+ continue;
416
+ if (prop.vt != VT_BSTR)
417
+ continue;
418
+ if (::SysStringByteLen(prop.bstrVal) != sizeof(GUID))
419
+ return E_FAIL;
420
+ item.ClassID = *(const GUID *)prop.bstrVal;
421
+ prop.Clear();
422
+ }
423
+
424
+ UString ext, addExt;
425
+ RINOK(GetProp_String(getProp, getProp2, i, NArchive::NHandlerPropID::kExtension, ext));
426
+ RINOK(GetProp_String(getProp, getProp2, i, NArchive::NHandlerPropID::kAddExtension, addExt));
427
+ item.AddExts(ext, addExt);
428
+
429
+ GetProp_Bool(getProp, getProp2, i, NArchive::NHandlerPropID::kUpdate, item.UpdateEnabled);
430
+ bool flags_Defined = false;
431
+ RINOK(GetProp_UInt32(getProp, getProp2, i, NArchive::NHandlerPropID::kFlags, item.Flags, flags_Defined));
432
+ item.NewInterface = flags_Defined;
433
+ if (!flags_Defined) // && item.UpdateEnabled
434
+ {
435
+ // support for DLL version before 9.31:
436
+ for (unsigned j = 0; j < ARRAY_SIZE(kArcFlagsPars); j += 2)
437
+ {
438
+ bool val = false;
439
+ GetProp_Bool(getProp, getProp2, i, kArcFlagsPars[j], val);
440
+ if (val)
441
+ item.Flags |= kArcFlagsPars[j + 1];
442
+ }
443
+ }
444
+
445
+ CByteBuffer sig;
446
+ RINOK(GetProp_RawData(getProp, getProp2, i, NArchive::NHandlerPropID::kSignature, sig));
447
+ if (sig.Size() != 0)
448
+ item.Signatures.Add(sig);
449
+ else
450
+ {
451
+ RINOK(GetProp_RawData(getProp, getProp2, i, NArchive::NHandlerPropID::kMultiSignature, sig));
452
+ ParseSignatures(sig, (unsigned)sig.Size(), item.Signatures);
453
+ }
454
+
455
+ bool signatureOffset_Defined;
456
+ RINOK(GetProp_UInt32(getProp, getProp2, i, NArchive::NHandlerPropID::kSignatureOffset, item.SignatureOffset, signatureOffset_Defined));
457
+
458
+ // bool version_Defined;
459
+ // RINOK(GetProp_UInt32(getProp, getProp2, i, NArchive::NHandlerPropID::kVersion, item.Version, version_Defined));
460
+
461
+ if (getIsArc)
462
+ getIsArc(i, &item.IsArcFunc);
463
+
464
+ Formats.Add(item);
465
+ }
466
+ return S_OK;
467
+ }
468
+
469
+ #ifdef _7ZIP_LARGE_PAGES
470
+ extern "C"
471
+ {
472
+ extern SIZE_T g_LargePageSize;
473
+ }
474
+ #endif
475
+
476
+ HRESULT CCodecs::LoadDll(const FString &dllPath, bool needCheckDll, bool *loadedOK)
477
+ {
478
+ if (loadedOK)
479
+ *loadedOK = false;
480
+
481
+ if (needCheckDll)
482
+ {
483
+ NDLL::CLibrary lib;
484
+ if (!lib.LoadEx(dllPath, LOAD_LIBRARY_AS_DATAFILE))
485
+ return S_OK;
486
+ }
487
+
488
+ Libs.AddNew();
489
+ CCodecLib &lib = Libs.Back();
490
+ lib.Path = dllPath;
491
+ bool used = false;
492
+ HRESULT res = S_OK;
493
+
494
+ if (lib.Lib.Load(dllPath))
495
+ {
496
+ if (loadedOK)
497
+ *loadedOK = true;
498
+ #ifdef NEW_FOLDER_INTERFACE
499
+ lib.LoadIcons();
500
+ #endif
501
+
502
+ #ifdef _7ZIP_LARGE_PAGES
503
+ if (g_LargePageSize != 0)
504
+ {
505
+ Func_SetLargePageMode setLargePageMode = (Func_SetLargePageMode)lib.Lib.GetProc("SetLargePageMode");
506
+ if (setLargePageMode)
507
+ setLargePageMode();
508
+ }
509
+ #endif
510
+
511
+ if (CaseSensitiveChange)
512
+ {
513
+ Func_SetCaseSensitive setCaseSensitive = (Func_SetCaseSensitive)lib.Lib.GetProc("SetCaseSensitive");
514
+ if (setCaseSensitive)
515
+ setCaseSensitive(CaseSensitive ? 1 : 0);
516
+ }
517
+
518
+ lib.CreateObject = (Func_CreateObject)lib.Lib.GetProc("CreateObject");
519
+ {
520
+ unsigned startSize = Codecs.Size() + Hashers.Size();
521
+ res = LoadCodecs();
522
+ used = (startSize != Codecs.Size() + Hashers.Size());
523
+ if (res == S_OK && lib.CreateObject)
524
+ {
525
+ startSize = Formats.Size();
526
+ res = LoadFormats();
527
+ if (startSize != Formats.Size())
528
+ used = true;
529
+ }
530
+ }
531
+ }
532
+
533
+ if (!used)
534
+ Libs.DeleteBack();
535
+
536
+ return res;
537
+ }
538
+
539
+ HRESULT CCodecs::LoadDllsFromFolder(const FString &folderPrefix)
540
+ {
541
+ NFile::NFind::CEnumerator enumerator;
542
+ enumerator.SetDirPrefix(folderPrefix);
543
+ NFile::NFind::CFileInfo fi;
544
+ while (enumerator.Next(fi))
545
+ {
546
+ if (fi.IsDir())
547
+ continue;
548
+ RINOK(LoadDll(folderPrefix + fi.Name, true));
549
+ }
550
+ return S_OK;
551
+ }
552
+
553
+ void CCodecs::CloseLibs()
554
+ {
555
+ // OutputDebugStringA("~CloseLibs start");
556
+ /*
557
+ WIN32: FreeLibrary() (CLibrary::Free()) function doesn't work as expected,
558
+ if it's called from another FreeLibrary() call.
559
+ So we need to call FreeLibrary() before global destructors.
560
+
561
+ Also we free global links from DLLs to object of this module before CLibrary::Free() call.
562
+ */
563
+
564
+ FOR_VECTOR(i, Libs)
565
+ {
566
+ const CCodecLib &lib = Libs[i];
567
+ if (lib.SetCodecs)
568
+ lib.SetCodecs(NULL);
569
+ }
570
+
571
+ // OutputDebugStringA("~CloseLibs after SetCodecs");
572
+ Libs.Clear();
573
+ // OutputDebugStringA("~CloseLibs end");
574
+ }
575
+
576
+ #endif // EXTERNAL_CODECS
577
+
578
+
579
+ HRESULT CCodecs::Load()
580
+ {
581
+ #ifdef NEW_FOLDER_INTERFACE
582
+ InternalIcons.LoadIcons(g_hInstance);
583
+ #endif
584
+
585
+ Formats.Clear();
586
+
587
+ #ifdef EXTERNAL_CODECS
588
+ MainDll_ErrorPath.Empty();
589
+ Codecs.Clear();
590
+ Hashers.Clear();
591
+ #endif
592
+
593
+ for (UInt32 i = 0; i < g_NumArcs; i++)
594
+ {
595
+ const CArcInfo &arc = *g_Arcs[i];
596
+ CArcInfoEx item;
597
+
598
+ item.Name = arc.Name;
599
+ item.CreateInArchive = arc.CreateInArchive;
600
+ item.IsArcFunc = arc.IsArc;
601
+ item.Flags = arc.Flags;
602
+
603
+ {
604
+ UString e, ae;
605
+ if (arc.Ext)
606
+ e = arc.Ext;
607
+ if (arc.AddExt)
608
+ ae = arc.AddExt;
609
+ item.AddExts(e, ae);
610
+ }
611
+
612
+ #ifndef _SFX
613
+
614
+ item.CreateOutArchive = arc.CreateOutArchive;
615
+ item.UpdateEnabled = (arc.CreateOutArchive != NULL);
616
+ item.SignatureOffset = arc.SignatureOffset;
617
+ // item.Version = MY_VER_MIX;
618
+ item.NewInterface = true;
619
+
620
+ if (arc.IsMultiSignature())
621
+ ParseSignatures(arc.Signature, arc.SignatureSize, item.Signatures);
622
+ else
623
+ item.Signatures.AddNew().CopyFrom(arc.Signature, arc.SignatureSize);
624
+
625
+ #endif
626
+
627
+ Formats.Add(item);
628
+ }
629
+
630
+ #ifdef EXTERNAL_CODECS
631
+ const FString baseFolder = GetBaseFolderPrefixFromRegistry();
632
+ {
633
+ bool loadedOK;
634
+ RINOK(LoadDll(baseFolder + kMainDll, false, &loadedOK));
635
+ if (!loadedOK)
636
+ MainDll_ErrorPath = kMainDll;
637
+ }
638
+ RINOK(LoadDllsFromFolder(baseFolder + kCodecsFolderName FSTRING_PATH_SEPARATOR));
639
+ RINOK(LoadDllsFromFolder(baseFolder + kFormatsFolderName FSTRING_PATH_SEPARATOR));
640
+
641
+ NeedSetLibCodecs = true;
642
+
643
+ if (Libs.Size() == 0)
644
+ NeedSetLibCodecs = false;
645
+ else if (Libs.Size() == 1)
646
+ {
647
+ // we don't need to set ISetCompressCodecsInfo, if all arcs and codecs are in one external module.
648
+ #ifndef EXPORT_CODECS
649
+ if (g_NumArcs == 0)
650
+ NeedSetLibCodecs = false;
651
+ #endif
652
+ }
653
+
654
+ if (NeedSetLibCodecs)
655
+ {
656
+ /* 15.00: now we call global function in DLL: SetCompressCodecsInfo(c)
657
+ old versions called only ISetCompressCodecsInfo::SetCompressCodecsInfo(c) for each archive handler */
658
+
659
+ FOR_VECTOR(i, Libs)
660
+ {
661
+ CCodecLib &lib = Libs[i];
662
+ lib.SetCodecs = (Func_SetCodecs)lib.Lib.GetProc("SetCodecs");
663
+ if (lib.SetCodecs)
664
+ {
665
+ RINOK(lib.SetCodecs(this));
666
+ }
667
+ }
668
+ }
669
+
670
+ #endif
671
+
672
+ return S_OK;
673
+ }
674
+
675
+ #ifndef _SFX
676
+
677
+ int CCodecs::FindFormatForArchiveName(const UString &arcPath) const
678
+ {
679
+ int dotPos = arcPath.ReverseFind_Dot();
680
+ if (dotPos <= arcPath.ReverseFind_PathSepar())
681
+ return -1;
682
+ const UString ext = arcPath.Ptr(dotPos + 1);
683
+ if (ext.IsEmpty())
684
+ return -1;
685
+ if (ext.IsEqualTo_Ascii_NoCase("exe"))
686
+ return -1;
687
+ FOR_VECTOR (i, Formats)
688
+ {
689
+ const CArcInfoEx &arc = Formats[i];
690
+ /*
691
+ if (!arc.UpdateEnabled)
692
+ continue;
693
+ */
694
+ if (arc.FindExtension(ext) >= 0)
695
+ return i;
696
+ }
697
+ return -1;
698
+ }
699
+
700
+ int CCodecs::FindFormatForExtension(const UString &ext) const
701
+ {
702
+ if (ext.IsEmpty())
703
+ return -1;
704
+ FOR_VECTOR (i, Formats)
705
+ if (Formats[i].FindExtension(ext) >= 0)
706
+ return i;
707
+ return -1;
708
+ }
709
+
710
+ int CCodecs::FindFormatForArchiveType(const UString &arcType) const
711
+ {
712
+ FOR_VECTOR (i, Formats)
713
+ if (Formats[i].Name.IsEqualTo_NoCase(arcType))
714
+ return i;
715
+ return -1;
716
+ }
717
+
718
+ bool CCodecs::FindFormatForArchiveType(const UString &arcType, CIntVector &formatIndices) const
719
+ {
720
+ formatIndices.Clear();
721
+ for (unsigned pos = 0; pos < arcType.Len();)
722
+ {
723
+ int pos2 = arcType.Find(L'.', pos);
724
+ if (pos2 < 0)
725
+ pos2 = arcType.Len();
726
+ const UString name = arcType.Mid(pos, pos2 - pos);
727
+ if (name.IsEmpty())
728
+ return false;
729
+ int index = FindFormatForArchiveType(name);
730
+ if (index < 0 && name != L"*")
731
+ {
732
+ formatIndices.Clear();
733
+ return false;
734
+ }
735
+ formatIndices.Add(index);
736
+ pos = pos2 + 1;
737
+ }
738
+ return true;
739
+ }
740
+
741
+ #endif // _SFX
742
+
743
+
744
+ #ifdef NEW_FOLDER_INTERFACE
745
+
746
+ void CCodecIcons::LoadIcons(HMODULE m)
747
+ {
748
+ UString iconTypes;
749
+ MyLoadString(m, kIconTypesResId, iconTypes);
750
+ UStringVector pairs;
751
+ SplitString(iconTypes, pairs);
752
+ FOR_VECTOR (i, pairs)
753
+ {
754
+ const UString &s = pairs[i];
755
+ int pos = s.Find(L':');
756
+ CIconPair iconPair;
757
+ iconPair.IconIndex = -1;
758
+ if (pos < 0)
759
+ pos = s.Len();
760
+ else
761
+ {
762
+ UString num = s.Ptr(pos + 1);
763
+ if (!num.IsEmpty())
764
+ {
765
+ const wchar_t *end;
766
+ iconPair.IconIndex = ConvertStringToUInt32(num, &end);
767
+ if (*end != 0)
768
+ continue;
769
+ }
770
+ }
771
+ iconPair.Ext = s.Left(pos);
772
+ IconPairs.Add(iconPair);
773
+ }
774
+ }
775
+
776
+ bool CCodecIcons::FindIconIndex(const UString &ext, int &iconIndex) const
777
+ {
778
+ iconIndex = -1;
779
+ FOR_VECTOR (i, IconPairs)
780
+ {
781
+ const CIconPair &pair = IconPairs[i];
782
+ if (ext.IsEqualTo_NoCase(pair.Ext))
783
+ {
784
+ iconIndex = pair.IconIndex;
785
+ return true;
786
+ }
787
+ }
788
+ return false;
789
+ }
790
+
791
+ #endif // NEW_FOLDER_INTERFACE
792
+
793
+
794
+ #ifdef EXTERNAL_CODECS
795
+
796
+ // #define EXPORT_CODECS
797
+
798
+ #ifdef EXPORT_CODECS
799
+
800
+ extern unsigned g_NumCodecs;
801
+ STDAPI CreateDecoder(UInt32 index, const GUID *iid, void **outObject);
802
+ STDAPI CreateEncoder(UInt32 index, const GUID *iid, void **outObject);
803
+ STDAPI GetMethodProperty(UInt32 codecIndex, PROPID propID, PROPVARIANT *value);
804
+ #define NUM_EXPORT_CODECS g_NumCodecs
805
+
806
+ extern unsigned g_NumHashers;
807
+ STDAPI CreateHasher(UInt32 index, IHasher **hasher);
808
+ STDAPI GetHasherProp(UInt32 codecIndex, PROPID propID, PROPVARIANT *value);
809
+ #define NUM_EXPORT_HASHERS g_NumHashers
810
+
811
+ #else // EXPORT_CODECS
812
+
813
+ #define NUM_EXPORT_CODECS 0
814
+ #define NUM_EXPORT_HASHERS 0
815
+
816
+ #endif // EXPORT_CODECS
817
+
818
+ STDMETHODIMP CCodecs::GetNumMethods(UInt32 *numMethods)
819
+ {
820
+ *numMethods = NUM_EXPORT_CODECS
821
+ #ifdef EXTERNAL_CODECS
822
+ + Codecs.Size()
823
+ #endif
824
+ ;
825
+ return S_OK;
826
+ }
827
+
828
+ STDMETHODIMP CCodecs::GetProperty(UInt32 index, PROPID propID, PROPVARIANT *value)
829
+ {
830
+ #ifdef EXPORT_CODECS
831
+ if (index < g_NumCodecs)
832
+ return GetMethodProperty(index, propID, value);
833
+ #endif
834
+
835
+ #ifdef EXTERNAL_CODECS
836
+ const CDllCodecInfo &ci = Codecs[index - NUM_EXPORT_CODECS];
837
+
838
+ if (propID == NMethodPropID::kDecoderIsAssigned ||
839
+ propID == NMethodPropID::kEncoderIsAssigned)
840
+ {
841
+ NCOM::CPropVariant prop;
842
+ prop = (bool)((propID == NMethodPropID::kDecoderIsAssigned) ?
843
+ ci.DecoderIsAssigned :
844
+ ci.EncoderIsAssigned);
845
+ prop.Detach(value);
846
+ return S_OK;
847
+ }
848
+ const CCodecLib &lib = Libs[ci.LibIndex];
849
+ return lib.GetMethodProperty(ci.CodecIndex, propID, value);
850
+ #else
851
+ return E_FAIL;
852
+ #endif
853
+ }
854
+
855
+ STDMETHODIMP CCodecs::CreateDecoder(UInt32 index, const GUID *iid, void **coder)
856
+ {
857
+ #ifdef EXPORT_CODECS
858
+ if (index < g_NumCodecs)
859
+ return CreateDecoder(index, iid, coder);
860
+ #endif
861
+
862
+ #ifdef EXTERNAL_CODECS
863
+ const CDllCodecInfo &ci = Codecs[index - NUM_EXPORT_CODECS];
864
+ if (ci.DecoderIsAssigned)
865
+ {
866
+ const CCodecLib &lib = Libs[ci.LibIndex];
867
+ if (lib.CreateDecoder)
868
+ return lib.CreateDecoder(ci.CodecIndex, iid, (void **)coder);
869
+ if (lib.CreateObject)
870
+ return lib.CreateObject(&ci.Decoder, iid, (void **)coder);
871
+ }
872
+ return S_OK;
873
+ #else
874
+ return E_FAIL;
875
+ #endif
876
+ }
877
+
878
+ STDMETHODIMP CCodecs::CreateEncoder(UInt32 index, const GUID *iid, void **coder)
879
+ {
880
+ #ifdef EXPORT_CODECS
881
+ if (index < g_NumCodecs)
882
+ return CreateEncoder(index, iid, coder);
883
+ #endif
884
+
885
+ #ifdef EXTERNAL_CODECS
886
+ const CDllCodecInfo &ci = Codecs[index - NUM_EXPORT_CODECS];
887
+ if (ci.EncoderIsAssigned)
888
+ {
889
+ const CCodecLib &lib = Libs[ci.LibIndex];
890
+ if (lib.CreateEncoder)
891
+ return lib.CreateEncoder(ci.CodecIndex, iid, (void **)coder);
892
+ if (lib.CreateObject)
893
+ return lib.CreateObject(&ci.Encoder, iid, (void **)coder);
894
+ }
895
+ return S_OK;
896
+ #else
897
+ return E_FAIL;
898
+ #endif
899
+ }
900
+
901
+
902
+ STDMETHODIMP_(UInt32) CCodecs::GetNumHashers()
903
+ {
904
+ return NUM_EXPORT_HASHERS
905
+ #ifdef EXTERNAL_CODECS
906
+ + Hashers.Size()
907
+ #endif
908
+ ;
909
+ }
910
+
911
+ STDMETHODIMP CCodecs::GetHasherProp(UInt32 index, PROPID propID, PROPVARIANT *value)
912
+ {
913
+ #ifdef EXPORT_CODECS
914
+ if (index < g_NumHashers)
915
+ return ::GetHasherProp(index, propID, value);
916
+ #endif
917
+
918
+ #ifdef EXTERNAL_CODECS
919
+ const CDllHasherInfo &ci = Hashers[index - NUM_EXPORT_HASHERS];
920
+ return Libs[ci.LibIndex].ComHashers->GetHasherProp(ci.HasherIndex, propID, value);
921
+ #else
922
+ return E_FAIL;
923
+ #endif
924
+ }
925
+
926
+ STDMETHODIMP CCodecs::CreateHasher(UInt32 index, IHasher **hasher)
927
+ {
928
+ #ifdef EXPORT_CODECS
929
+ if (index < g_NumHashers)
930
+ return CreateHasher(index, hasher);
931
+ #endif
932
+ #ifdef EXTERNAL_CODECS
933
+ const CDllHasherInfo &ci = Hashers[index - NUM_EXPORT_HASHERS];
934
+ return Libs[ci.LibIndex].ComHashers->CreateHasher(ci.HasherIndex, hasher);
935
+ #else
936
+ return E_FAIL;
937
+ #endif
938
+ }
939
+
940
+ int CCodecs::GetCodec_LibIndex(UInt32 index) const
941
+ {
942
+ #ifdef EXPORT_CODECS
943
+ if (index < g_NumCodecs)
944
+ return -1;
945
+ #endif
946
+
947
+ #ifdef EXTERNAL_CODECS
948
+ const CDllCodecInfo &ci = Codecs[index - NUM_EXPORT_CODECS];
949
+ return ci.LibIndex;
950
+ #else
951
+ return -1;
952
+ #endif
953
+ }
954
+
955
+ int CCodecs::GetHasherLibIndex(UInt32 index)
956
+ {
957
+ #ifdef EXPORT_CODECS
958
+ if (index < g_NumHashers)
959
+ return -1;
960
+ #endif
961
+
962
+ #ifdef EXTERNAL_CODECS
963
+ const CDllHasherInfo &ci = Hashers[index - NUM_EXPORT_HASHERS];
964
+ return ci.LibIndex;
965
+ #else
966
+ return -1;
967
+ #endif
968
+ }
969
+
970
+ bool CCodecs::GetCodec_DecoderIsAssigned(UInt32 index) const
971
+ {
972
+ #ifdef EXPORT_CODECS
973
+ if (index < g_NumCodecs)
974
+ {
975
+ NCOM::CPropVariant prop;
976
+ if (GetProperty(index, NMethodPropID::kDecoderIsAssigned, &prop) == S_OK)
977
+ {
978
+ if (prop.vt == VT_BOOL)
979
+ return VARIANT_BOOLToBool(prop.boolVal);
980
+ }
981
+ return false;
982
+ }
983
+ #endif
984
+
985
+ #ifdef EXTERNAL_CODECS
986
+ return Codecs[index - NUM_EXPORT_CODECS].DecoderIsAssigned;
987
+ #else
988
+ return false;
989
+ #endif
990
+ }
991
+
992
+ bool CCodecs::GetCodec_EncoderIsAssigned(UInt32 index) const
993
+ {
994
+ #ifdef EXPORT_CODECS
995
+ if (index < g_NumCodecs)
996
+ {
997
+ NCOM::CPropVariant prop;
998
+ if (GetProperty(index, NMethodPropID::kEncoderIsAssigned, &prop) == S_OK)
999
+ {
1000
+ if (prop.vt == VT_BOOL)
1001
+ return VARIANT_BOOLToBool(prop.boolVal);
1002
+ }
1003
+ return false;
1004
+ }
1005
+ #endif
1006
+
1007
+ #ifdef EXTERNAL_CODECS
1008
+ return Codecs[index - NUM_EXPORT_CODECS].EncoderIsAssigned;
1009
+ #else
1010
+ return false;
1011
+ #endif
1012
+ }
1013
+
1014
+ UInt32 CCodecs::GetCodec_NumStreams(UInt32 index)
1015
+ {
1016
+ NCOM::CPropVariant prop;
1017
+ RINOK(GetProperty(index, NMethodPropID::kPackStreams, &prop));
1018
+ if (prop.vt == VT_UI4)
1019
+ return (UInt32)prop.ulVal;
1020
+ if (prop.vt == VT_EMPTY)
1021
+ return 1;
1022
+ return 0;
1023
+ }
1024
+
1025
+ HRESULT CCodecs::GetCodec_Id(UInt32 index, UInt64 &id)
1026
+ {
1027
+ NCOM::CPropVariant prop;
1028
+ RINOK(GetProperty(index, NMethodPropID::kID, &prop));
1029
+ if (prop.vt != VT_UI8)
1030
+ return E_INVALIDARG;
1031
+ id = prop.uhVal.QuadPart;
1032
+ return S_OK;
1033
+ }
1034
+
1035
+ AString CCodecs::GetCodec_Name(UInt32 index)
1036
+ {
1037
+ AString s;
1038
+ NCOM::CPropVariant prop;
1039
+ if (GetProperty(index, NMethodPropID::kName, &prop) == S_OK)
1040
+ if (prop.vt == VT_BSTR)
1041
+ s.SetFromWStr_if_Ascii(prop.bstrVal);
1042
+ return s;
1043
+ }
1044
+
1045
+ UInt64 CCodecs::GetHasherId(UInt32 index)
1046
+ {
1047
+ NCOM::CPropVariant prop;
1048
+ if (GetHasherProp(index, NMethodPropID::kID, &prop) != S_OK)
1049
+ return 0;
1050
+ if (prop.vt != VT_UI8)
1051
+ return 0;
1052
+ return prop.uhVal.QuadPart;
1053
+ }
1054
+
1055
+ AString CCodecs::GetHasherName(UInt32 index)
1056
+ {
1057
+ AString s;
1058
+ NCOM::CPropVariant prop;
1059
+ if (GetHasherProp(index, NMethodPropID::kName, &prop) == S_OK)
1060
+ if (prop.vt == VT_BSTR)
1061
+ s.SetFromWStr_if_Ascii(prop.bstrVal);
1062
+ return s;
1063
+ }
1064
+
1065
+ UInt32 CCodecs::GetHasherDigestSize(UInt32 index)
1066
+ {
1067
+ NCOM::CPropVariant prop;
1068
+ RINOK(GetHasherProp(index, NMethodPropID::kDigestSize, &prop));
1069
+ if (prop.vt != VT_UI4)
1070
+ return 0;
1071
+ return prop.ulVal;
1072
+ }
1073
+
1074
+ #endif // EXTERNAL_CODECS