@cpp.js/package-gdal 1.0.0-beta.22 → 1.0.0

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 (255) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +1 -1
  3. package/cppjs.build.js +1 -0
  4. package/dist/prebuilt/Android-arm64-v8a/include/gdal_version.h +3 -3
  5. package/dist/prebuilt/Android-arm64-v8a/include/ogr_api.h +4 -4
  6. package/dist/prebuilt/Android-arm64-v8a/include/ogr_feature.h +2 -2
  7. package/dist/prebuilt/Android-arm64-v8a/lib/cmake/gdal/GDALConfigVersion.cmake +3 -3
  8. package/dist/prebuilt/Android-arm64-v8a/lib/libgdal.so +0 -0
  9. package/dist/prebuilt/Android-arm64-v8a/lib/pkgconfig/gdal.pc +1 -1
  10. package/dist/prebuilt/Android-arm64-v8a/share/gdal/gdalvrt.xsd +30 -24
  11. package/dist/prebuilt/Android-x86_64/include/cpl_atomic_ops.h +90 -0
  12. package/dist/prebuilt/Android-x86_64/include/cpl_auto_close.h +73 -0
  13. package/dist/prebuilt/Android-x86_64/include/cpl_compressor.h +112 -0
  14. package/dist/prebuilt/Android-x86_64/include/cpl_config.h +215 -0
  15. package/dist/prebuilt/Android-x86_64/include/cpl_config_extras.h +34 -0
  16. package/dist/prebuilt/Android-x86_64/include/cpl_conv.h +417 -0
  17. package/dist/prebuilt/Android-x86_64/include/cpl_csv.h +71 -0
  18. package/dist/prebuilt/Android-x86_64/include/cpl_error.h +344 -0
  19. package/dist/prebuilt/Android-x86_64/include/cpl_hash_set.h +83 -0
  20. package/dist/prebuilt/Android-x86_64/include/cpl_http.h +319 -0
  21. package/dist/prebuilt/Android-x86_64/include/cpl_json.h +301 -0
  22. package/dist/prebuilt/Android-x86_64/include/cpl_list.h +59 -0
  23. package/dist/prebuilt/Android-x86_64/include/cpl_minixml.h +211 -0
  24. package/dist/prebuilt/Android-x86_64/include/cpl_multiproc.h +241 -0
  25. package/dist/prebuilt/Android-x86_64/include/cpl_port.h +1182 -0
  26. package/dist/prebuilt/Android-x86_64/include/cpl_progress.h +49 -0
  27. package/dist/prebuilt/Android-x86_64/include/cpl_quad_tree.h +105 -0
  28. package/dist/prebuilt/Android-x86_64/include/cpl_spawn.h +60 -0
  29. package/dist/prebuilt/Android-x86_64/include/cpl_string.h +863 -0
  30. package/dist/prebuilt/Android-x86_64/include/cpl_time.h +29 -0
  31. package/dist/prebuilt/Android-x86_64/include/cpl_virtualmem.h +365 -0
  32. package/dist/prebuilt/Android-x86_64/include/cpl_vsi.h +830 -0
  33. package/dist/prebuilt/Android-x86_64/include/cpl_vsi_error.h +55 -0
  34. package/dist/prebuilt/Android-x86_64/include/cpl_vsi_virtual.h +580 -0
  35. package/dist/prebuilt/Android-x86_64/include/cplkeywordparser.h +61 -0
  36. package/dist/prebuilt/Android-x86_64/include/gdal.h +2667 -0
  37. package/dist/prebuilt/Android-x86_64/include/gdal_alg.h +717 -0
  38. package/dist/prebuilt/Android-x86_64/include/gdal_alg_priv.h +386 -0
  39. package/dist/prebuilt/Android-x86_64/include/gdal_csv.h +25 -0
  40. package/dist/prebuilt/Android-x86_64/include/gdal_frmts.h +236 -0
  41. package/dist/prebuilt/Android-x86_64/include/gdal_mdreader.h +240 -0
  42. package/dist/prebuilt/Android-x86_64/include/gdal_pam.h +461 -0
  43. package/dist/prebuilt/Android-x86_64/include/gdal_priv.h +4599 -0
  44. package/dist/prebuilt/Android-x86_64/include/gdal_proxy.h +470 -0
  45. package/dist/prebuilt/Android-x86_64/include/gdal_rat.h +390 -0
  46. package/dist/prebuilt/Android-x86_64/include/gdal_simplesurf.h +579 -0
  47. package/dist/prebuilt/Android-x86_64/include/gdal_utils.h +313 -0
  48. package/dist/prebuilt/Android-x86_64/include/gdal_version.h +33 -0
  49. package/dist/prebuilt/Android-x86_64/include/gdal_vrt.h +89 -0
  50. package/dist/prebuilt/Android-x86_64/include/gdalcachedpixelaccessor.h +439 -0
  51. package/dist/prebuilt/Android-x86_64/include/gdalgeorefpamdataset.h +73 -0
  52. package/dist/prebuilt/Android-x86_64/include/gdalgrid.h +102 -0
  53. package/dist/prebuilt/Android-x86_64/include/gdalgrid_priv.h +67 -0
  54. package/dist/prebuilt/Android-x86_64/include/gdaljp2abstractdataset.h +61 -0
  55. package/dist/prebuilt/Android-x86_64/include/gdaljp2metadata.h +237 -0
  56. package/dist/prebuilt/Android-x86_64/include/gdalpansharpen.h +258 -0
  57. package/dist/prebuilt/Android-x86_64/include/gdalsubdatasetinfo.h +104 -0
  58. package/dist/prebuilt/Android-x86_64/include/gdalwarper.h +622 -0
  59. package/dist/prebuilt/Android-x86_64/include/gnm.h +750 -0
  60. package/dist/prebuilt/Android-x86_64/include/gnm_api.h +101 -0
  61. package/dist/prebuilt/Android-x86_64/include/gnmgraph.h +258 -0
  62. package/dist/prebuilt/Android-x86_64/include/memdataset.h +176 -0
  63. package/dist/prebuilt/Android-x86_64/include/ogr_api.h +1024 -0
  64. package/dist/prebuilt/Android-x86_64/include/ogr_core.h +1321 -0
  65. package/dist/prebuilt/Android-x86_64/include/ogr_feature.h +1981 -0
  66. package/dist/prebuilt/Android-x86_64/include/ogr_featurestyle.h +858 -0
  67. package/dist/prebuilt/Android-x86_64/include/ogr_geocoding.h +46 -0
  68. package/dist/prebuilt/Android-x86_64/include/ogr_geomcoordinateprecision.h +79 -0
  69. package/dist/prebuilt/Android-x86_64/include/ogr_geometry.h +4346 -0
  70. package/dist/prebuilt/Android-x86_64/include/ogr_p.h +324 -0
  71. package/dist/prebuilt/Android-x86_64/include/ogr_recordbatch.h +125 -0
  72. package/dist/prebuilt/Android-x86_64/include/ogr_spatialref.h +1007 -0
  73. package/dist/prebuilt/Android-x86_64/include/ogr_srs_api.h +1088 -0
  74. package/dist/prebuilt/Android-x86_64/include/ogr_swq.h +529 -0
  75. package/dist/prebuilt/Android-x86_64/include/ogrsf_frmts.h +746 -0
  76. package/dist/prebuilt/Android-x86_64/include/rawdataset.h +255 -0
  77. package/dist/prebuilt/Android-x86_64/include/vrtdataset.h +2426 -0
  78. package/dist/prebuilt/Android-x86_64/lib/cmake/gdal/GDAL-targets-release.cmake +19 -0
  79. package/dist/prebuilt/Android-x86_64/lib/cmake/gdal/GDAL-targets.cmake +106 -0
  80. package/dist/prebuilt/Android-x86_64/lib/cmake/gdal/GDALConfig.cmake +21 -0
  81. package/dist/prebuilt/Android-x86_64/lib/cmake/gdal/GDALConfigVersion.cmake +85 -0
  82. package/dist/prebuilt/Android-x86_64/lib/gdalplugins/drivers.ini +290 -0
  83. package/dist/prebuilt/Android-x86_64/lib/libgdal.so +0 -0
  84. package/dist/prebuilt/Android-x86_64/lib/pkgconfig/gdal.pc +17 -0
  85. package/dist/prebuilt/Android-x86_64/share/gdal/GDALLogoBW.svg +138 -0
  86. package/dist/prebuilt/Android-x86_64/share/gdal/GDALLogoColor.svg +126 -0
  87. package/dist/prebuilt/Android-x86_64/share/gdal/GDALLogoGS.svg +126 -0
  88. package/dist/prebuilt/Android-x86_64/share/gdal/LICENSE.TXT +467 -0
  89. package/dist/prebuilt/Android-x86_64/share/gdal/MM_m_idofic.csv +321 -0
  90. package/dist/prebuilt/Android-x86_64/share/gdal/cubewerx_extra.wkt +48 -0
  91. package/dist/prebuilt/Android-x86_64/share/gdal/default.rsc +0 -0
  92. package/dist/prebuilt/Android-x86_64/share/gdal/ecw_cs.wkt +1453 -0
  93. package/dist/prebuilt/Android-x86_64/share/gdal/epsg.wkt +1 -0
  94. package/dist/prebuilt/Android-x86_64/share/gdal/esri_StatePlane_extra.wkt +631 -0
  95. package/dist/prebuilt/Android-x86_64/share/gdal/gdalicon.png +0 -0
  96. package/dist/prebuilt/Android-x86_64/share/gdal/gdalinfo_output.schema.json +346 -0
  97. package/dist/prebuilt/Android-x86_64/share/gdal/gdalmdiminfo_output.schema.json +321 -0
  98. package/dist/prebuilt/Android-x86_64/share/gdal/gdaltileindex.xsd +253 -0
  99. package/dist/prebuilt/Android-x86_64/share/gdal/gdalvrt.xsd +887 -0
  100. package/dist/prebuilt/Android-x86_64/share/gdal/gfs.xsd +246 -0
  101. package/dist/prebuilt/Android-x86_64/share/gdal/gml_registry.xml +117 -0
  102. package/dist/prebuilt/Android-x86_64/share/gdal/gml_registry.xsd +66 -0
  103. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_center.csv +251 -0
  104. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_process.csv +102 -0
  105. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_subcenter.csv +63 -0
  106. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_0.csv +261 -0
  107. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_1.csv +261 -0
  108. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_13.csv +261 -0
  109. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_14.csv +261 -0
  110. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_15.csv +261 -0
  111. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_16.csv +261 -0
  112. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_17.csv +11 -0
  113. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_18.csv +261 -0
  114. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_19.csv +261 -0
  115. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_190.csv +261 -0
  116. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_191.csv +261 -0
  117. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_2.csv +261 -0
  118. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_20.csv +261 -0
  119. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_21.csv +261 -0
  120. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_3.csv +261 -0
  121. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_4.csv +261 -0
  122. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_5.csv +261 -0
  123. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_6.csv +261 -0
  124. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_7.csv +261 -0
  125. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_10_0.csv +261 -0
  126. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_10_1.csv +261 -0
  127. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_10_191.csv +261 -0
  128. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_10_2.csv +261 -0
  129. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_10_3.csv +261 -0
  130. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_10_4.csv +261 -0
  131. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_1_0.csv +261 -0
  132. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_1_1.csv +261 -0
  133. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_1_2.csv +261 -0
  134. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_20_0.csv +261 -0
  135. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_20_1.csv +261 -0
  136. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_20_2.csv +261 -0
  137. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_2_0.csv +261 -0
  138. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_2_3.csv +261 -0
  139. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_2_4.csv +261 -0
  140. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_2_5.csv +261 -0
  141. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_2_6.csv +261 -0
  142. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_3_0.csv +261 -0
  143. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_3_1.csv +261 -0
  144. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_3_2.csv +28 -0
  145. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_3_3.csv +8 -0
  146. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_3_4.csv +14 -0
  147. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_3_5.csv +11 -0
  148. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_3_6.csv +11 -0
  149. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_0.csv +261 -0
  150. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_1.csv +261 -0
  151. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_10.csv +261 -0
  152. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_2.csv +261 -0
  153. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_3.csv +261 -0
  154. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_4.csv +261 -0
  155. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_5.csv +261 -0
  156. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_6.csv +261 -0
  157. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_7.csv +261 -0
  158. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_8.csv +261 -0
  159. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_9.csv +261 -0
  160. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_local_Canada.csv +5 -0
  161. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_local_HPC.csv +2 -0
  162. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_local_MRMS.csv +175 -0
  163. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_local_NCEP.csv +401 -0
  164. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_local_NDFD.csv +38 -0
  165. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_local_index.csv +7 -0
  166. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_5.csv +261 -0
  167. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_versions.csv +3 -0
  168. package/dist/prebuilt/Android-x86_64/share/gdal/gt_datum.csv +229 -0
  169. package/dist/prebuilt/Android-x86_64/share/gdal/gt_ellips.csv +24 -0
  170. package/dist/prebuilt/Android-x86_64/share/gdal/header.dxf +1124 -0
  171. package/dist/prebuilt/Android-x86_64/share/gdal/inspire_cp_BasicPropertyUnit.gfs +57 -0
  172. package/dist/prebuilt/Android-x86_64/share/gdal/inspire_cp_CadastralBoundary.gfs +60 -0
  173. package/dist/prebuilt/Android-x86_64/share/gdal/inspire_cp_CadastralParcel.gfs +81 -0
  174. package/dist/prebuilt/Android-x86_64/share/gdal/inspire_cp_CadastralZoning.gfs +161 -0
  175. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_AdmArea.gfs +59 -0
  176. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_AdmBdry.gfs +49 -0
  177. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_AdmPt.gfs +59 -0
  178. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_BldA.gfs +54 -0
  179. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_BldL.gfs +54 -0
  180. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_Cntr.gfs +54 -0
  181. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_CommBdry.gfs +49 -0
  182. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_CommPt.gfs +59 -0
  183. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_Cstline.gfs +54 -0
  184. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_ElevPt.gfs +54 -0
  185. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_GCP.gfs +94 -0
  186. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_LeveeEdge.gfs +49 -0
  187. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_RailCL.gfs +54 -0
  188. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_RdASL.gfs +44 -0
  189. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_RdArea.gfs +54 -0
  190. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_RdCompt.gfs +59 -0
  191. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_RdEdg.gfs +59 -0
  192. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_RdMgtBdry.gfs +49 -0
  193. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_RdSgmtA.gfs +59 -0
  194. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_RvrMgtBdry.gfs +49 -0
  195. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_SBAPt.gfs +49 -0
  196. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_SBArea.gfs +54 -0
  197. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_SBBdry.gfs +44 -0
  198. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_WA.gfs +54 -0
  199. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_WL.gfs +54 -0
  200. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_WStrA.gfs +54 -0
  201. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_WStrL.gfs +54 -0
  202. package/dist/prebuilt/Android-x86_64/share/gdal/nitf_spec.xml +3290 -0
  203. package/dist/prebuilt/Android-x86_64/share/gdal/nitf_spec.xsd +173 -0
  204. package/dist/prebuilt/Android-x86_64/share/gdal/ogrinfo_output.schema.json +528 -0
  205. package/dist/prebuilt/Android-x86_64/share/gdal/ogrvrt.xsd +530 -0
  206. package/dist/prebuilt/Android-x86_64/share/gdal/osmconf.ini +134 -0
  207. package/dist/prebuilt/Android-x86_64/share/gdal/ozi_datum.csv +131 -0
  208. package/dist/prebuilt/Android-x86_64/share/gdal/ozi_ellips.csv +35 -0
  209. package/dist/prebuilt/Android-x86_64/share/gdal/pci_datum.txt +530 -0
  210. package/dist/prebuilt/Android-x86_64/share/gdal/pci_ellips.txt +129 -0
  211. package/dist/prebuilt/Android-x86_64/share/gdal/pdfcomposition.xsd +705 -0
  212. package/dist/prebuilt/Android-x86_64/share/gdal/ruian_vf_ob_v1.gfs +1455 -0
  213. package/dist/prebuilt/Android-x86_64/share/gdal/ruian_vf_st_uvoh_v1.gfs +86 -0
  214. package/dist/prebuilt/Android-x86_64/share/gdal/ruian_vf_st_v1.gfs +1489 -0
  215. package/dist/prebuilt/Android-x86_64/share/gdal/ruian_vf_v1.gfs +2126 -0
  216. package/dist/prebuilt/Android-x86_64/share/gdal/s57agencies.csv +249 -0
  217. package/dist/prebuilt/Android-x86_64/share/gdal/s57attributes.csv +484 -0
  218. package/dist/prebuilt/Android-x86_64/share/gdal/s57expectedinput.csv +1008 -0
  219. package/dist/prebuilt/Android-x86_64/share/gdal/s57objectclasses.csv +287 -0
  220. package/dist/prebuilt/Android-x86_64/share/gdal/seed_2d.dgn +0 -0
  221. package/dist/prebuilt/Android-x86_64/share/gdal/seed_3d.dgn +0 -0
  222. package/dist/prebuilt/Android-x86_64/share/gdal/stateplane.csv +259 -0
  223. package/dist/prebuilt/Android-x86_64/share/gdal/tms_LINZAntarticaMapTileGrid.json +190 -0
  224. package/dist/prebuilt/Android-x86_64/share/gdal/tms_MapML_APSTILE.json +268 -0
  225. package/dist/prebuilt/Android-x86_64/share/gdal/tms_MapML_CBMTILE.json +346 -0
  226. package/dist/prebuilt/Android-x86_64/share/gdal/tms_NZTM2000.json +243 -0
  227. package/dist/prebuilt/Android-x86_64/share/gdal/trailer.dxf +434 -0
  228. package/dist/prebuilt/Android-x86_64/share/gdal/vdv452.xml +351 -0
  229. package/dist/prebuilt/Android-x86_64/share/gdal/vdv452.xsd +47 -0
  230. package/dist/prebuilt/Emscripten-x86_64/include/gdal_version.h +3 -3
  231. package/dist/prebuilt/Emscripten-x86_64/include/ogr_api.h +4 -4
  232. package/dist/prebuilt/Emscripten-x86_64/include/ogr_feature.h +2 -2
  233. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/GDALConfigVersion.cmake +3 -3
  234. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/thirdparty/FindDotnet.cmake +33 -36
  235. package/dist/prebuilt/Emscripten-x86_64/lib/libgdal.a +0 -0
  236. package/dist/prebuilt/Emscripten-x86_64/lib/pkgconfig/gdal.pc +1 -1
  237. package/dist/prebuilt/Emscripten-x86_64/share/gdal/gdalvrt.xsd +30 -24
  238. package/dist/prebuilt/iOS-iphoneos/include/gdal_version.h +3 -3
  239. package/dist/prebuilt/iOS-iphoneos/include/ogr_api.h +4 -4
  240. package/dist/prebuilt/iOS-iphoneos/include/ogr_feature.h +2 -2
  241. package/dist/prebuilt/iOS-iphoneos/share/gdal/gdalvrt.xsd +30 -24
  242. package/dist/prebuilt/iOS-iphonesimulator/include/gdal_version.h +3 -3
  243. package/dist/prebuilt/iOS-iphonesimulator/include/ogr_api.h +4 -4
  244. package/dist/prebuilt/iOS-iphonesimulator/include/ogr_feature.h +2 -2
  245. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/gdalvrt.xsd +30 -24
  246. package/gdal.xcframework/ios-arm64_arm64e/Headers/gdal_version.h +3 -3
  247. package/gdal.xcframework/ios-arm64_arm64e/Headers/ogr_api.h +4 -4
  248. package/gdal.xcframework/ios-arm64_arm64e/Headers/ogr_feature.h +2 -2
  249. package/gdal.xcframework/ios-arm64_arm64e/libgdal.a +0 -0
  250. package/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gdal_version.h +3 -3
  251. package/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/ogr_api.h +4 -4
  252. package/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/ogr_feature.h +2 -2
  253. package/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/libgdal.a +0 -0
  254. package/package.json +13 -13
  255. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindDB2.cmake +0 -103
@@ -0,0 +1,55 @@
1
+ /******************************************************************************
2
+ * $Id$
3
+ *
4
+ * Project: VSI Virtual File System
5
+ * Purpose: Implement an error system for reporting file system errors.
6
+ * Filesystem errors need to be handled separately from the
7
+ * CPLError architecture because they are potentially ignored.
8
+ * Author: Rob Emanuele, rdemanuele at gmail.com
9
+ *
10
+ ******************************************************************************
11
+ * Copyright (c) 2016, Rob Emanuele <rdemanuele at gmail.com>
12
+ *
13
+ * SPDX-License-Identifier: MIT
14
+ ****************************************************************************/
15
+
16
+ #ifndef CPL_VSI_ERROR_H_INCLUDED
17
+ #define CPL_VSI_ERROR_H_INCLUDED
18
+
19
+ #include "cpl_port.h"
20
+ #include "cpl_error.h"
21
+
22
+ /* ====================================================================
23
+ Filesystem error codes.
24
+ ==================================================================== */
25
+
26
+ CPL_C_START
27
+
28
+ typedef int VSIErrorNum;
29
+
30
+ #define VSIE_None 0
31
+ #define VSIE_FileError 1
32
+ #define VSIE_HttpError 2
33
+
34
+ #define VSIE_AWSError 5
35
+ #define VSIE_AWSAccessDenied 6
36
+ #define VSIE_AWSBucketNotFound 7
37
+ #define VSIE_AWSObjectNotFound 8
38
+ #define VSIE_AWSInvalidCredentials 9
39
+ #define VSIE_AWSSignatureDoesNotMatch 10
40
+
41
+ void CPL_DLL VSIError(VSIErrorNum err_no, CPL_FORMAT_STRING(const char *fmt),
42
+ ...) CPL_PRINT_FUNC_FORMAT(2, 3);
43
+
44
+ void CPL_DLL CPL_STDCALL VSIErrorReset(void);
45
+ VSIErrorNum CPL_DLL CPL_STDCALL VSIGetLastErrorNo(void);
46
+ const char CPL_DLL *CPL_STDCALL VSIGetLastErrorMsg(void);
47
+
48
+ int CPL_DLL CPL_STDCALL VSIToCPLError(CPLErr eErrClass,
49
+ CPLErrorNum eDefaultErrorNo);
50
+ void CPL_DLL VSIToCPLErrorWithMsg(CPLErr eErrClass, CPLErrorNum eDefaultErrorNo,
51
+ const char *pszMsg);
52
+
53
+ CPL_C_END
54
+
55
+ #endif /* CPL_VSI_ERROR_H_INCLUDED */
@@ -0,0 +1,580 @@
1
+ /******************************************************************************
2
+ * $Id$
3
+ *
4
+ * Project: VSI Virtual File System
5
+ * Purpose: Declarations for classes related to the virtual filesystem.
6
+ * These would only be normally required by applications implementing
7
+ * their own virtual file system classes which should be rare.
8
+ * The class interface may be fragile through versions.
9
+ * Author: Frank Warmerdam, warmerdam@pobox.com
10
+ *
11
+ ******************************************************************************
12
+ * Copyright (c) 2005, Frank Warmerdam <warmerdam@pobox.com>
13
+ * Copyright (c) 2010-2014, Even Rouault <even dot rouault at spatialys.com>
14
+ *
15
+ * SPDX-License-Identifier: MIT
16
+ ****************************************************************************/
17
+
18
+ #ifndef CPL_VSI_VIRTUAL_H_INCLUDED
19
+ #define CPL_VSI_VIRTUAL_H_INCLUDED
20
+
21
+ #include "cpl_vsi.h"
22
+ #include "cpl_vsi_error.h"
23
+ #include "cpl_string.h"
24
+ #include "cpl_multiproc.h"
25
+
26
+ #include <map>
27
+ #include <memory>
28
+ #include <vector>
29
+ #include <string>
30
+
31
+ // To avoid aliasing to GetDiskFreeSpace to GetDiskFreeSpaceA on Windows
32
+ #ifdef GetDiskFreeSpace
33
+ #undef GetDiskFreeSpace
34
+ #endif
35
+
36
+ // To avoid aliasing to CopyFile to CopyFileA on Windows
37
+ #ifdef CopyFile
38
+ #undef CopyFile
39
+ #endif
40
+
41
+ /************************************************************************/
42
+ /* VSIVirtualHandle */
43
+ /************************************************************************/
44
+
45
+ /** Virtual file handle */
46
+ struct CPL_DLL VSIVirtualHandle
47
+ {
48
+ public:
49
+ virtual int Seek(vsi_l_offset nOffset, int nWhence) = 0;
50
+ virtual vsi_l_offset Tell() = 0;
51
+ virtual size_t Read(void *pBuffer, size_t nSize, size_t nCount) = 0;
52
+ virtual int ReadMultiRange(int nRanges, void **ppData,
53
+ const vsi_l_offset *panOffsets,
54
+ const size_t *panSizes);
55
+
56
+ /** This method is called when code plans to access soon one or several
57
+ * ranges in a file. Some file systems may be able to use this hint to
58
+ * for example asynchronously start such requests.
59
+ *
60
+ * Offsets may be given in a non-increasing order, and may potentially
61
+ * overlap.
62
+ *
63
+ * @param nRanges Size of the panOffsets and panSizes arrays.
64
+ * @param panOffsets Array containing the start offset of each range.
65
+ * @param panSizes Array containing the size (in bytes) of each range.
66
+ * @since GDAL 3.7
67
+ */
68
+ virtual void AdviseRead(CPL_UNUSED int nRanges,
69
+ CPL_UNUSED const vsi_l_offset *panOffsets,
70
+ CPL_UNUSED const size_t *panSizes)
71
+ {
72
+ }
73
+
74
+ /** Return the total maximum number of bytes that AdviseRead() can handle
75
+ * at once.
76
+ *
77
+ * Some AdviseRead() implementations may give up if the sum of the values
78
+ * in the panSizes[] array provided to AdviseRead() exceeds a limit.
79
+ *
80
+ * Callers might use that threshold to optimize the efficiency of
81
+ * AdviseRead().
82
+ *
83
+ * A returned value of 0 indicates a unknown limit.
84
+ * @since GDAL 3.9
85
+ */
86
+ virtual size_t GetAdviseReadTotalBytesLimit() const
87
+ {
88
+ return 0;
89
+ }
90
+
91
+ virtual size_t Write(const void *pBuffer, size_t nSize, size_t nCount) = 0;
92
+
93
+ int Printf(CPL_FORMAT_STRING(const char *pszFormat), ...)
94
+ CPL_PRINT_FUNC_FORMAT(2, 3);
95
+
96
+ virtual void ClearErr() = 0;
97
+
98
+ virtual int Eof() = 0;
99
+
100
+ virtual int Error() = 0;
101
+
102
+ virtual int Flush()
103
+ {
104
+ return 0;
105
+ }
106
+
107
+ virtual int Close() = 0;
108
+ // Base implementation that only supports file extension.
109
+ virtual int Truncate(vsi_l_offset nNewSize);
110
+
111
+ virtual void *GetNativeFileDescriptor()
112
+ {
113
+ return nullptr;
114
+ }
115
+
116
+ virtual VSIRangeStatus GetRangeStatus(CPL_UNUSED vsi_l_offset nOffset,
117
+ CPL_UNUSED vsi_l_offset nLength)
118
+ {
119
+ return VSI_RANGE_STATUS_UNKNOWN;
120
+ }
121
+
122
+ virtual bool HasPRead() const;
123
+ virtual size_t PRead(void *pBuffer, size_t nSize,
124
+ vsi_l_offset nOffset) const;
125
+
126
+ /** Ask current operations to be interrupted.
127
+ * Implementations must be thread-safe, as this will typically be called
128
+ * from another thread than the active one for this file.
129
+ */
130
+ virtual void Interrupt()
131
+ {
132
+ }
133
+
134
+ // NOTE: when adding new methods, besides the "actual" implementations,
135
+ // also consider the VSICachedFile one.
136
+
137
+ virtual ~VSIVirtualHandle()
138
+ {
139
+ }
140
+ };
141
+
142
+ /************************************************************************/
143
+ /* VSIVirtualHandleCloser */
144
+ /************************************************************************/
145
+
146
+ /** Helper close to use with a std:unique_ptr<VSIVirtualHandle>,
147
+ * such as VSIVirtualHandleUniquePtr. */
148
+ struct VSIVirtualHandleCloser
149
+ {
150
+ /** Operator () that closes and deletes the file handle. */
151
+ void operator()(VSIVirtualHandle *poHandle)
152
+ {
153
+ if (poHandle)
154
+ {
155
+ poHandle->Close();
156
+ delete poHandle;
157
+ }
158
+ }
159
+ };
160
+
161
+ /** Unique pointer of VSIVirtualHandle that calls the Close() method */
162
+ typedef std::unique_ptr<VSIVirtualHandle, VSIVirtualHandleCloser>
163
+ VSIVirtualHandleUniquePtr;
164
+
165
+ /************************************************************************/
166
+ /* VSIFilesystemHandler */
167
+ /************************************************************************/
168
+
169
+ #ifndef DOXYGEN_SKIP
170
+ class CPL_DLL VSIFilesystemHandler
171
+ {
172
+
173
+ public:
174
+ virtual ~VSIFilesystemHandler()
175
+ {
176
+ }
177
+
178
+ VSIVirtualHandle *Open(const char *pszFilename, const char *pszAccess);
179
+
180
+ virtual VSIVirtualHandle *Open(const char *pszFilename,
181
+ const char *pszAccess, bool bSetError,
182
+ CSLConstList papszOptions) = 0;
183
+ virtual int Stat(const char *pszFilename, VSIStatBufL *pStatBuf,
184
+ int nFlags) = 0;
185
+
186
+ virtual int Unlink(const char *pszFilename)
187
+ {
188
+ (void)pszFilename;
189
+ errno = ENOENT;
190
+ return -1;
191
+ }
192
+
193
+ virtual int *UnlinkBatch(CSLConstList papszFiles);
194
+
195
+ virtual int Mkdir(const char *pszDirname, long nMode)
196
+ {
197
+ (void)pszDirname;
198
+ (void)nMode;
199
+ errno = ENOENT;
200
+ return -1;
201
+ }
202
+
203
+ virtual int Rmdir(const char *pszDirname)
204
+ {
205
+ (void)pszDirname;
206
+ errno = ENOENT;
207
+ return -1;
208
+ }
209
+
210
+ virtual int RmdirRecursive(const char *pszDirname);
211
+
212
+ char **ReadDir(const char *pszDirname)
213
+ {
214
+ return ReadDirEx(pszDirname, 0);
215
+ }
216
+
217
+ virtual char **ReadDirEx(const char * /*pszDirname*/, int /* nMaxFiles */)
218
+ {
219
+ return nullptr;
220
+ }
221
+
222
+ virtual char **SiblingFiles(const char * /*pszFilename*/)
223
+ {
224
+ return nullptr;
225
+ }
226
+
227
+ virtual int Rename(const char *oldpath, const char *newpath)
228
+ {
229
+ (void)oldpath;
230
+ (void)newpath;
231
+ errno = ENOENT;
232
+ return -1;
233
+ }
234
+
235
+ virtual int IsCaseSensitive(const char *pszFilename)
236
+ {
237
+ (void)pszFilename;
238
+ return TRUE;
239
+ }
240
+
241
+ virtual GIntBig GetDiskFreeSpace(const char * /* pszDirname */)
242
+ {
243
+ return -1;
244
+ }
245
+
246
+ virtual int SupportsSparseFiles(const char * /* pszPath */)
247
+ {
248
+ return FALSE;
249
+ }
250
+
251
+ virtual int HasOptimizedReadMultiRange(const char * /* pszPath */)
252
+ {
253
+ return FALSE;
254
+ }
255
+
256
+ virtual const char *GetActualURL(const char * /*pszFilename*/)
257
+ {
258
+ return nullptr;
259
+ }
260
+
261
+ virtual const char *GetOptions()
262
+ {
263
+ return nullptr;
264
+ }
265
+
266
+ virtual char *GetSignedURL(const char * /*pszFilename*/,
267
+ CSLConstList /* papszOptions */)
268
+ {
269
+ return nullptr;
270
+ }
271
+
272
+ virtual bool Sync(const char *pszSource, const char *pszTarget,
273
+ const char *const *papszOptions,
274
+ GDALProgressFunc pProgressFunc, void *pProgressData,
275
+ char ***ppapszOutputs);
276
+
277
+ virtual int CopyFile(const char *pszSource, const char *pszTarget,
278
+ VSILFILE *fpSource, vsi_l_offset nSourceSize,
279
+ const char *const *papszOptions,
280
+ GDALProgressFunc pProgressFunc, void *pProgressData);
281
+
282
+ virtual int
283
+ CopyFileRestartable(const char *pszSource, const char *pszTarget,
284
+ const char *pszInputPayload, char **ppszOutputPayload,
285
+ CSLConstList papszOptions,
286
+ GDALProgressFunc pProgressFunc, void *pProgressData);
287
+
288
+ virtual VSIDIR *OpenDir(const char *pszPath, int nRecurseDepth,
289
+ const char *const *papszOptions);
290
+
291
+ virtual char **GetFileMetadata(const char *pszFilename,
292
+ const char *pszDomain,
293
+ CSLConstList papszOptions);
294
+
295
+ virtual bool SetFileMetadata(const char *pszFilename,
296
+ CSLConstList papszMetadata,
297
+ const char *pszDomain,
298
+ CSLConstList papszOptions);
299
+
300
+ virtual bool
301
+ MultipartUploadGetCapabilities(int *pbNonSequentialUploadSupported,
302
+ int *pbParallelUploadSupported,
303
+ int *pbAbortSupported, size_t *pnMinPartSize,
304
+ size_t *pnMaxPartSize, int *pnMaxPartCount);
305
+
306
+ virtual char *MultipartUploadStart(const char *pszFilename,
307
+ CSLConstList papszOptions);
308
+
309
+ virtual char *MultipartUploadAddPart(const char *pszFilename,
310
+ const char *pszUploadId,
311
+ int nPartNumber,
312
+ vsi_l_offset nFileOffset,
313
+ const void *pData, size_t nDataLength,
314
+ CSLConstList papszOptions);
315
+
316
+ virtual bool
317
+ MultipartUploadEnd(const char *pszFilename, const char *pszUploadId,
318
+ size_t nPartIdsCount, const char *const *apszPartIds,
319
+ vsi_l_offset nTotalSize, CSLConstList papszOptions);
320
+
321
+ virtual bool MultipartUploadAbort(const char *pszFilename,
322
+ const char *pszUploadId,
323
+ CSLConstList papszOptions);
324
+
325
+ virtual bool AbortPendingUploads(const char * /*pszFilename*/)
326
+ {
327
+ return true;
328
+ }
329
+
330
+ virtual std::string
331
+ GetStreamingFilename(const std::string &osFilename) const
332
+ {
333
+ return osFilename;
334
+ }
335
+
336
+ virtual std::string
337
+ GetNonStreamingFilename(const std::string &osFilename) const
338
+ {
339
+ return osFilename;
340
+ }
341
+
342
+ /** Return the canonical filename.
343
+ *
344
+ * May be implemented by case-insensitive filesystems
345
+ * (currently Win32 and MacOSX)
346
+ * to return the filename with its actual case (i.e. the one that would
347
+ * be used when listing the content of the directory).
348
+ */
349
+ virtual std::string
350
+ GetCanonicalFilename(const std::string &osFilename) const
351
+ {
352
+ return osFilename;
353
+ }
354
+
355
+ virtual bool IsLocal(const char * /* pszPath */)
356
+ {
357
+ return true;
358
+ }
359
+
360
+ virtual bool SupportsSequentialWrite(const char * /* pszPath */,
361
+ bool /* bAllowLocalTempFile */)
362
+ {
363
+ return true;
364
+ }
365
+
366
+ virtual bool SupportsRandomWrite(const char * /* pszPath */,
367
+ bool /* bAllowLocalTempFile */)
368
+ {
369
+ return true;
370
+ }
371
+
372
+ virtual bool SupportsRead(const char * /* pszPath */)
373
+ {
374
+ return true;
375
+ }
376
+
377
+ virtual VSIFilesystemHandler *Duplicate(const char * /* pszPrefix */)
378
+ {
379
+ CPLError(CE_Failure, CPLE_NotSupported,
380
+ "Duplicate() not supported on this file system");
381
+ return nullptr;
382
+ }
383
+
384
+ /** Return the directory separator.
385
+ *
386
+ * Default is forward slash. The only exception currently is the Windows
387
+ * file system which returns anti-slash, unless the specified path is of the
388
+ * form "{drive_letter}:/{rest_of_the_path}".
389
+ */
390
+ virtual const char *GetDirectorySeparator(CPL_UNUSED const char *pszPath)
391
+ {
392
+ return "/";
393
+ }
394
+ };
395
+ #endif /* #ifndef DOXYGEN_SKIP */
396
+
397
+ /************************************************************************/
398
+ /* VSIFileManager */
399
+ /************************************************************************/
400
+
401
+ #ifndef DOXYGEN_SKIP
402
+ class CPL_DLL VSIFileManager
403
+ {
404
+ private:
405
+ VSIFilesystemHandler *poDefaultHandler = nullptr;
406
+ std::map<std::string, VSIFilesystemHandler *> oHandlers{};
407
+
408
+ VSIFileManager();
409
+
410
+ static VSIFileManager *Get();
411
+
412
+ CPL_DISALLOW_COPY_ASSIGN(VSIFileManager)
413
+
414
+ public:
415
+ ~VSIFileManager();
416
+
417
+ static VSIFilesystemHandler *GetHandler(const char *);
418
+ static void InstallHandler(const std::string &osPrefix,
419
+ VSIFilesystemHandler *);
420
+ static void RemoveHandler(const std::string &osPrefix);
421
+
422
+ static char **GetPrefixes();
423
+ };
424
+ #endif /* #ifndef DOXYGEN_SKIP */
425
+
426
+ /************************************************************************/
427
+ /* ==================================================================== */
428
+ /* VSIArchiveFilesystemHandler */
429
+ /* ==================================================================== */
430
+ /************************************************************************/
431
+
432
+ #ifndef DOXYGEN_SKIP
433
+
434
+ class VSIArchiveEntryFileOffset
435
+ {
436
+ public:
437
+ virtual ~VSIArchiveEntryFileOffset();
438
+ };
439
+
440
+ typedef struct
441
+ {
442
+ char *fileName;
443
+ vsi_l_offset uncompressed_size;
444
+ VSIArchiveEntryFileOffset *file_pos;
445
+ int bIsDir;
446
+ GIntBig nModifiedTime;
447
+ } VSIArchiveEntry;
448
+
449
+ class VSIArchiveContent
450
+ {
451
+ public:
452
+ time_t mTime = 0;
453
+ vsi_l_offset nFileSize = 0;
454
+ int nEntries = 0;
455
+ VSIArchiveEntry *entries = nullptr;
456
+
457
+ ~VSIArchiveContent();
458
+ };
459
+
460
+ class VSIArchiveReader
461
+ {
462
+ public:
463
+ virtual ~VSIArchiveReader();
464
+
465
+ virtual int GotoFirstFile() = 0;
466
+ virtual int GotoNextFile() = 0;
467
+ virtual VSIArchiveEntryFileOffset *GetFileOffset() = 0;
468
+ virtual GUIntBig GetFileSize() = 0;
469
+ virtual CPLString GetFileName() = 0;
470
+ virtual GIntBig GetModifiedTime() = 0;
471
+ virtual int GotoFileOffset(VSIArchiveEntryFileOffset *pOffset) = 0;
472
+ };
473
+
474
+ class VSIArchiveFilesystemHandler : public VSIFilesystemHandler
475
+ {
476
+ CPL_DISALLOW_COPY_ASSIGN(VSIArchiveFilesystemHandler)
477
+
478
+ protected:
479
+ CPLMutex *hMutex = nullptr;
480
+ /* We use a cache that contains the list of files contained in a VSIArchive
481
+ * file as */
482
+ /* unarchive.c is quite inefficient in listing them. This speeds up access
483
+ * to VSIArchive files */
484
+ /* containing ~1000 files like a CADRG product */
485
+ std::map<CPLString, VSIArchiveContent *> oFileList{};
486
+
487
+ virtual const char *GetPrefix() = 0;
488
+ virtual std::vector<CPLString> GetExtensions() = 0;
489
+ virtual VSIArchiveReader *CreateReader(const char *pszArchiveFileName) = 0;
490
+
491
+ public:
492
+ VSIArchiveFilesystemHandler();
493
+ virtual ~VSIArchiveFilesystemHandler();
494
+
495
+ int Stat(const char *pszFilename, VSIStatBufL *pStatBuf,
496
+ int nFlags) override;
497
+ int Unlink(const char *pszFilename) override;
498
+ int Rename(const char *oldpath, const char *newpath) override;
499
+ int Mkdir(const char *pszDirname, long nMode) override;
500
+ int Rmdir(const char *pszDirname) override;
501
+ char **ReadDirEx(const char *pszDirname, int nMaxFiles) override;
502
+
503
+ virtual const VSIArchiveContent *
504
+ GetContentOfArchive(const char *archiveFilename,
505
+ VSIArchiveReader *poReader = nullptr);
506
+ virtual char *SplitFilename(const char *pszFilename,
507
+ CPLString &osFileInArchive,
508
+ int bCheckMainFileExists);
509
+ virtual VSIArchiveReader *OpenArchiveFile(const char *archiveFilename,
510
+ const char *fileInArchiveName);
511
+ virtual int FindFileInArchive(const char *archiveFilename,
512
+ const char *fileInArchiveName,
513
+ const VSIArchiveEntry **archiveEntry);
514
+
515
+ virtual bool IsLocal(const char *pszPath) override;
516
+
517
+ virtual bool
518
+ SupportsSequentialWrite(const char * /* pszPath */,
519
+ bool /* bAllowLocalTempFile */) override
520
+ {
521
+ return false;
522
+ }
523
+
524
+ virtual bool SupportsRandomWrite(const char * /* pszPath */,
525
+ bool /* bAllowLocalTempFile */) override
526
+ {
527
+ return false;
528
+ }
529
+ };
530
+
531
+ /************************************************************************/
532
+ /* VSIDIR */
533
+ /************************************************************************/
534
+
535
+ struct CPL_DLL VSIDIR
536
+ {
537
+ VSIDIR() = default;
538
+ virtual ~VSIDIR();
539
+
540
+ virtual const VSIDIREntry *NextDirEntry() = 0;
541
+
542
+ private:
543
+ VSIDIR(const VSIDIR &) = delete;
544
+ VSIDIR &operator=(const VSIDIR &) = delete;
545
+ };
546
+
547
+ #endif /* #ifndef DOXYGEN_SKIP */
548
+
549
+ VSIVirtualHandle CPL_DLL *
550
+ VSICreateBufferedReaderHandle(VSIVirtualHandle *poBaseHandle);
551
+ VSIVirtualHandle *
552
+ VSICreateBufferedReaderHandle(VSIVirtualHandle *poBaseHandle,
553
+ const GByte *pabyBeginningContent,
554
+ vsi_l_offset nCheatFileSize);
555
+ constexpr int VSI_CACHED_DEFAULT_CHUNK_SIZE = 32768;
556
+ VSIVirtualHandle CPL_DLL *
557
+ VSICreateCachedFile(VSIVirtualHandle *poBaseHandle,
558
+ size_t nChunkSize = VSI_CACHED_DEFAULT_CHUNK_SIZE,
559
+ size_t nCacheSize = 0);
560
+
561
+ const int CPL_DEFLATE_TYPE_GZIP = 0;
562
+ const int CPL_DEFLATE_TYPE_ZLIB = 1;
563
+ const int CPL_DEFLATE_TYPE_RAW_DEFLATE = 2;
564
+ VSIVirtualHandle CPL_DLL *VSICreateGZipWritable(VSIVirtualHandle *poBaseHandle,
565
+ int nDeflateType,
566
+ int bAutoCloseBaseHandle);
567
+
568
+ VSIVirtualHandle *VSICreateGZipWritable(VSIVirtualHandle *poBaseHandle,
569
+ int nDeflateType,
570
+ bool bAutoCloseBaseHandle, int nThreads,
571
+ size_t nChunkSize,
572
+ size_t nSOZIPIndexEltSize,
573
+ std::vector<uint8_t> *panSOZIPIndex);
574
+
575
+ VSIVirtualHandle *
576
+ VSICreateUploadOnCloseFile(VSIVirtualHandleUniquePtr &&poWritableHandle,
577
+ VSIVirtualHandleUniquePtr &&poTmpFile,
578
+ const std::string &osTmpFilename);
579
+
580
+ #endif /* ndef CPL_VSI_VIRTUAL_H_INCLUDED */
@@ -0,0 +1,61 @@
1
+ /******************************************************************************
2
+ * $Id$
3
+ *
4
+ * Project: Common Portability Library
5
+ * Purpose: Implementation of CPLKeywordParser - a class for parsing
6
+ * the keyword format used for files like QuickBird .RPB files.
7
+ * This is a slight variation on the NASAKeywordParser used for
8
+ * the PDS/ISIS2/ISIS3 formats.
9
+ * Author: Frank Warmerdam <warmerdam@pobox.com
10
+ *
11
+ ******************************************************************************
12
+ * Copyright (c) 2008, Frank Warmerdam <warmerdam@pobox.com>
13
+ *
14
+ * SPDX-License-Identifier: MIT
15
+ ****************************************************************************/
16
+
17
+ #ifndef CPL_KEYWORD_PARSER
18
+ #define CPL_KEYWORD_PARSER
19
+
20
+ #include "cpl_string.h"
21
+
22
+ /************************************************************************/
23
+ /* ==================================================================== */
24
+ /* CPLKeywordParser */
25
+ /* ==================================================================== */
26
+ /************************************************************************/
27
+
28
+ /*! @cond Doxygen_Suppress */
29
+
30
+ class CPL_DLL CPLKeywordParser
31
+ {
32
+ char **papszKeywordList = nullptr;
33
+
34
+ CPLString osHeaderText{};
35
+ const char *pszHeaderNext = nullptr;
36
+
37
+ void SkipWhite();
38
+ bool ReadWord(CPLString &osWord);
39
+ bool ReadPair(CPLString &osName, CPLString &osValue);
40
+ bool ReadGroup(const char *pszPathPrefix, int nRecLevel);
41
+
42
+ CPL_DISALLOW_COPY_ASSIGN(CPLKeywordParser)
43
+
44
+ public:
45
+ CPLKeywordParser();
46
+ ~CPLKeywordParser();
47
+
48
+ int Ingest(VSILFILE *fp);
49
+
50
+ const char *GetKeyword(const char *pszPath,
51
+ const char *pszDefault = nullptr);
52
+
53
+ char **GetAllKeywords()
54
+ {
55
+ return papszKeywordList;
56
+ }
57
+ };
58
+
59
+ /*! @endcond */
60
+
61
+ #endif /* def CPL_KEYWORD_PARSER */