/src/gdal/frmts/gdalallregister.cpp
Line | Count | Source |
1 | | /****************************************************************************** |
2 | | * |
3 | | * Project: GDAL Core |
4 | | * Purpose: Implementation of GDALAllRegister(), primary format registration. |
5 | | * Author: Frank Warmerdam, warmerdam@pobox.com |
6 | | * |
7 | | ****************************************************************************** |
8 | | * Copyright (c) 1998, Frank Warmerdam |
9 | | * Copyright (c) 2007-2014, Even Rouault <even dot rouault at spatialys.com> |
10 | | * |
11 | | * SPDX-License-Identifier: MIT |
12 | | ****************************************************************************/ |
13 | | |
14 | | #include "gdal_priv.h" |
15 | | #include "gdal_frmts.h" |
16 | | #include "ogrsf_frmts.h" |
17 | | |
18 | | #ifdef GNM_ENABLED |
19 | | #include "gnm_frmts.h" |
20 | | #endif |
21 | | |
22 | | #if defined(HAVE_EXTERNAL_DEFERRED_PLUGINS) |
23 | | // The above define and the below functions are set and generated by |
24 | | // frmts/CMakeLists.txt when a CMake ADD_EXTERNAL_DEFERRED_PLUGIN_XXXX |
25 | | // variable is set. |
26 | | extern "C" void DeclareExternalDeferredPlugins(void); |
27 | | #endif |
28 | | |
29 | | extern "C" void CPL_DLL GDALRegister_raw_no_sidecar(); |
30 | | extern "C" void CPL_DLL GDALRegister_raw_with_sidecar(); |
31 | | |
32 | | /************************************************************************/ |
33 | | /* GDALRegisterPlugin() */ |
34 | | /* */ |
35 | | /* Register a plugin by name, returning an error if not found */ |
36 | | /************************************************************************/ |
37 | | |
38 | | /** |
39 | | * \brief Register a plugin by name, returning an error if not found |
40 | | * |
41 | | * This function will call GDALDriverManager::LoadPlugin() to register a |
42 | | * specific plugin by name. |
43 | | * |
44 | | * This method is intended to be called instead of GDALAllRegister() or |
45 | | * GDALRegisterPlugins() when fine tuning which drivers are needed at runtime. |
46 | | * |
47 | | * @see GDALDriverManager::LoadPlugin() |
48 | | * @see GDALDriverManager::AutoLoadDrivers() |
49 | | * @since GDAL 3.8 |
50 | | */ |
51 | | CPLErr GDALRegisterPlugin(const char *name) |
52 | 0 | { |
53 | 0 | auto poDriverManager = GetGDALDriverManager(); |
54 | | // LoadPlugin is a no-op if compiled with GDAL_NO_AUTOLOAD defined. |
55 | 0 | return poDriverManager->LoadPlugin(name); |
56 | 0 | } |
57 | | |
58 | | /************************************************************************/ |
59 | | /* GDALRegisterPlugins() */ |
60 | | /* */ |
61 | | /* Register drivers and support code available as a plugin. */ |
62 | | /************************************************************************/ |
63 | | |
64 | | /** |
65 | | * \brief Register drivers and support code available as a plugin. |
66 | | * |
67 | | * This function will call GDALDriverManager::AutoLoadDrivers() to |
68 | | * register all drivers or supporting code (for example VRT pixelfunctions |
69 | | * or VSI adapters) that have not been compiled into the GDAL core but instead |
70 | | * are made available through GDAL's plugin mechanism. |
71 | | * |
72 | | * This method is intended to be called instead of GDALAllRegister() when |
73 | | * fine tuning which drivers are needed at runtime. |
74 | | * |
75 | | * @see GDALDriverManager::AutoLoadDrivers() |
76 | | * @since GDAL 3.8 |
77 | | */ |
78 | | void CPL_DLL GDALRegisterPlugins(void) |
79 | 0 | { |
80 | 0 | auto poDriverManager = GetGDALDriverManager(); |
81 | | // AutoLoadDrivers is a no-op if compiled with GDAL_NO_AUTOLOAD defined. |
82 | 0 | poDriverManager->AutoLoadDrivers(); |
83 | 0 | poDriverManager->AutoLoadPythonDrivers(); |
84 | | |
85 | | /* -------------------------------------------------------------------- */ |
86 | | /* Deregister any drivers explicitly marked as suppressed by the */ |
87 | | /* GDAL_SKIP environment variable. */ |
88 | | /* -------------------------------------------------------------------- */ |
89 | 0 | poDriverManager->AutoSkipDrivers(); |
90 | |
|
91 | 0 | poDriverManager->ReorderDrivers(); |
92 | 0 | } |
93 | | |
94 | | /************************************************************************/ |
95 | | /* GDALAllRegister() */ |
96 | | /* */ |
97 | | /* Register all identifiably supported formats. */ |
98 | | /************************************************************************/ |
99 | | |
100 | | /** |
101 | | * Register all known configured GDAL drivers. |
102 | | * |
103 | | * This function will drive any of the following that are configured into |
104 | | * GDAL. See <a href="http://gdal.org/formats_list.html">raster list</a> and |
105 | | * <a href="http://gdal.org/ogr_formats.html">vector full list</a> |
106 | | * |
107 | | * This function should generally be called once at the beginning of the |
108 | | * application. |
109 | | */ |
110 | | |
111 | | void CPL_STDCALL GDALAllRegister() |
112 | | |
113 | 0 | { |
114 | 0 | auto poDriverManager = GetGDALDriverManager(); |
115 | |
|
116 | | #if defined(HAVE_EXTERNAL_DEFERRED_PLUGINS) |
117 | | DeclareExternalDeferredPlugins(); |
118 | | #endif |
119 | |
|
120 | | #if defined(DEFERRED_ARROW_DRIVER) |
121 | | DeclareDeferredOGRArrowPlugin(); |
122 | | #endif |
123 | | #if defined(DEFERRED_BASISU_KTX2_DRIVER) |
124 | | DeclareDeferredBASISU_KTX2Plugin(); |
125 | | #endif |
126 | | #if defined(DEFERRED_CAD_DRIVER) |
127 | | DeclareDeferredOGRCADPlugin(); |
128 | | #endif |
129 | | #if defined(DEFERRED_CARTO_DRIVER) |
130 | | DeclareDeferredOGRCartoPlugin(); |
131 | | #endif |
132 | | #if defined(DEFERRED_DDS_DRIVER) |
133 | | DeclareDeferredDDSPlugin(); |
134 | | #endif |
135 | | #if defined(DEFERRED_DWG_DRIVER) |
136 | | DeclareDeferredOGRDWGPlugin(); |
137 | | DeclareDeferredOGRDGNV8Plugin(); |
138 | | #endif |
139 | | #if defined(DEFERRED_ELASTIC_DRIVER) |
140 | | DeclareDeferredOGRElasticPlugin(); |
141 | | #endif |
142 | | #if defined(DEFERRED_EXR_DRIVER) |
143 | | DeclareDeferredEXRPlugin(); |
144 | | #endif |
145 | | #if defined(DEFERRED_ECW_DRIVER) |
146 | | DeclareDeferredECWPlugin(); |
147 | | #endif |
148 | | #if defined(DEFERRED_FILEGDB_DRIVER) |
149 | | DeclareDeferredOGRFileGDBPlugin(); |
150 | | #endif |
151 | | #if defined(DEFERRED_FITS_DRIVER) |
152 | | DeclareDeferredFITSPlugin(); |
153 | | #endif |
154 | | #if defined(DEFERRED_GEOR_DRIVER) |
155 | | DeclareDeferredGEORPlugin(); |
156 | | #endif |
157 | | #if defined(DEFERRED_GIF_DRIVER) |
158 | | DeclareDeferredGIFPlugin(); |
159 | | #endif |
160 | | #if defined(DEFERRED_GMLAS_DRIVER) |
161 | | DeclareDeferredOGRGMLASPlugin(); |
162 | | #endif |
163 | | #if defined(DEFERRED_GRIB_DRIVER) |
164 | | DeclareDeferredGRIBPlugin(); |
165 | | #endif |
166 | | #if defined(DEFERRED_GTA_DRIVER) |
167 | | DeclareDeferredGTAPlugin(); |
168 | | #endif |
169 | | #if defined(DEFERRED_HANA_DRIVER) |
170 | | DeclareDeferredOGRHANAPlugin(); |
171 | | #endif |
172 | | #if defined(DEFERRED_AVIF_DRIVER) |
173 | | DeclareDeferredAVIFPlugin(); |
174 | | #endif |
175 | | #if defined(DEFERRED_HEIF_DRIVER) |
176 | | DeclareDeferredHEIFPlugin(); |
177 | | #endif |
178 | | #if defined(DEFERRED_HDF4_DRIVER) |
179 | | DeclareDeferredHDF4Plugin(); |
180 | | #endif |
181 | | #if defined(DEFERRED_KEA_DRIVER) |
182 | | // Must be registered before HDF5 so that when the plugin is not |
183 | | // installer the proper suggestion message is displayed |
184 | | DeclareDeferredKEAPlugin(); |
185 | | #endif |
186 | | #if defined(DEFERRED_HDF5_DRIVER) |
187 | | DeclareDeferredHDF5Plugin(); |
188 | | #endif |
189 | | #if defined(DEFERRED_IDB_DRIVER) |
190 | | DeclareDeferredOGRIDBPlugin(); |
191 | | #endif |
192 | | #if defined(DEFERRED_JP2KAK_DRIVER) |
193 | | DeclareDeferredJP2KAKPlugin(); |
194 | | #endif |
195 | | #if defined(DEFERRED_JP2OPENJPEG_DRIVER) |
196 | | DeclareDeferredOPENJPEGPlugin(); |
197 | | #endif |
198 | | #if defined(DEFERRED_JPEG_DRIVER) |
199 | | DeclareDeferredJPEGPlugin(); |
200 | | #endif |
201 | | #if defined(DEFERRED_JPEGXL_DRIVER) |
202 | | DeclareDeferredJPEGXLPlugin(); |
203 | | #endif |
204 | | #if defined(DEFERRED_JPIPKAK_DRIVER) |
205 | | DeclareDeferredJPIPKAKPlugin(); |
206 | | #endif |
207 | | #if defined(DEFERRED_LIBKML_DRIVER) |
208 | | DeclareDeferredOGRLIBKMLPlugin(); |
209 | | #endif |
210 | | #if defined(DEFERRED_MONGODBV3_DRIVER) |
211 | | DeclareDeferredOGRMongoDBv3Plugin(); |
212 | | #endif |
213 | | #if defined(DEFERRED_MRF_DRIVER) |
214 | | DeclareDeferredMRFPlugin(); |
215 | | #endif |
216 | | #if defined(DEFERRED_MRSID_DRIVER) |
217 | | DeclareDeferredMrSIDPlugin(); |
218 | | #endif |
219 | | #if defined(DEFERRED_MSG_DRIVER) |
220 | | DeclareDeferredMSGPlugin(); |
221 | | #endif |
222 | | #if defined(DEFERRED_MSSQLSPATIAL_DRIVER) |
223 | | DeclareDeferredOGRMSSQLSpatialPlugin(); |
224 | | #endif |
225 | | #if defined(DEFERRED_MYSQL_DRIVER) |
226 | | DeclareDeferredOGRMySQLPlugin(); |
227 | | #endif |
228 | | #if defined(DEFERRED_NETCDF_DRIVER) |
229 | | DeclareDeferredNetCDFPlugin(); |
230 | | #endif |
231 | | #if defined(DEFERRED_NITF_DRIVER) |
232 | | DeclareDeferredNITFPlugin(); |
233 | | #endif |
234 | | #if defined(DEFERRED_OCI_DRIVER) |
235 | | DeclareDeferredOGROCIPlugin(); |
236 | | #endif |
237 | | #if defined(DEFERRED_ODBC_DRIVER) |
238 | | DeclareDeferredOGRODBCPlugin(); |
239 | | #endif |
240 | | #if defined(DEFERRED_OGDI_DRIVER) |
241 | | DeclareDeferredOGROGDIPlugin(); |
242 | | #endif |
243 | | #if defined(DEFERRED_OPENFILEGDB_DRIVER) |
244 | | DeclareDeferredOGROpenFileGDBPlugin(); |
245 | | #endif |
246 | | #if defined(DEFERRED_PARQUET_DRIVER) |
247 | | DeclareDeferredOGRParquetPlugin(); |
248 | | #endif |
249 | | #if defined(DEFERRED_PCIDSK_DRIVER) |
250 | | DeclareDeferredPCIDSKPlugin(); |
251 | | #endif |
252 | | #if defined(DEFERRED_PCRASTER_DRIVER) |
253 | | DeclareDeferredPCRasterPlugin(); |
254 | | #endif |
255 | | #if defined(DEFERRED_POSTGISRASTER_DRIVER) |
256 | | DeclareDeferredPostGISRasterPlugin(); |
257 | | #endif |
258 | | #if defined(DEFERRED_PLSCENES_DRIVER) |
259 | | DeclareDeferredOGRPLSCENESPlugin(); |
260 | | #endif |
261 | | #if defined(DEFERRED_PDF_DRIVER) |
262 | | DeclareDeferredPDFPlugin(); |
263 | | #endif |
264 | | #if defined(DEFERRED_PDS_DRIVER) |
265 | | DeclareDeferredPDSPlugin(); |
266 | | #endif |
267 | | #if defined(DEFERRED_PG_DRIVER) |
268 | | DeclareDeferredOGRPGPlugin(); |
269 | | #endif |
270 | | #if defined(DEFERRED_PNG_DRIVER) |
271 | | DeclareDeferredPNGPlugin(); |
272 | | #endif |
273 | | #if defined(DEFERRED_RASTERLITE_DRIVER) |
274 | | DeclareDeferredRasterlitePlugin(); |
275 | | #endif |
276 | | #if defined(DEFERRED_SOSI_DRIVER) |
277 | | DeclareDeferredOGRSOSIPlugin(); |
278 | | #endif |
279 | | #if defined(DEFERRED_TILEDB_DRIVER) |
280 | | DeclareDeferredTileDBPlugin(); |
281 | | #endif |
282 | | #if defined(DEFERRED_VFK_DRIVER) |
283 | | DeclareDeferredOGRVFKPlugin(); |
284 | | #endif |
285 | | #if defined(DEFERRED_WCS_DRIVER) |
286 | | DeclareDeferredWCSPlugin(); |
287 | | #endif |
288 | | #if defined(DEFERRED_WEBP_DRIVER) |
289 | | DeclareDeferredWEBPPlugin(); |
290 | | #endif |
291 | | #if defined(DEFERRED_WMS_DRIVER) |
292 | | DeclareDeferredWMSPlugin(); |
293 | | #endif |
294 | | #if defined(DEFERRED_WMTS_DRIVER) |
295 | | DeclareDeferredWMTSPlugin(); |
296 | | #endif |
297 | | #if defined(DEFERRED_XLS_DRIVER) |
298 | | DeclareDeferredOGRXLSPlugin(); |
299 | | #endif |
300 | | #if defined(DEFERRED_ZARR_DRIVER) |
301 | | DeclareDeferredZarrPlugin(); |
302 | | #endif |
303 | | #if defined(DEFERRED_XODR_DRIVER) |
304 | | DeclareDeferredOGRXODRPlugin(); |
305 | | #endif |
306 | | #if defined(DEFERRED_ADBC_DRIVER) |
307 | | DeclareDeferredOGRADBCPlugin(); |
308 | | #endif |
309 | | |
310 | | // AutoLoadDrivers is a no-op if compiled with GDAL_NO_AUTOLOAD defined. |
311 | 0 | poDriverManager->AutoLoadDrivers(); |
312 | | |
313 | | // NOTE: frmts/drivers.ini in the same directory should be kept in same |
314 | | // order as this file |
315 | |
|
316 | | #ifdef FRMT_derived |
317 | | GDALRegister_Derived(); |
318 | | #endif |
319 | |
|
320 | | #ifdef FRMT_gti |
321 | | GDALRegister_GTI(); |
322 | | #endif |
323 | |
|
324 | | #ifdef FRMT_snap_tiff |
325 | | GDALRegister_SNAP_TIFF(); |
326 | | #endif |
327 | |
|
328 | 0 | #ifdef FRMT_gtiff |
329 | 0 | GDALRegister_GTiff(); |
330 | 0 | GDALRegister_COG(); |
331 | 0 | #endif |
332 | |
|
333 | | #ifdef FRMT_libertiff |
334 | | GDALRegister_LIBERTIFF(); |
335 | | #endif |
336 | | |
337 | | // VRT needs to be registered after GeoTIFF as it queries its metadata |
338 | 0 | #ifdef FRMT_vrt |
339 | 0 | GDALRegister_VRT(); |
340 | 0 | #endif |
341 | |
|
342 | | #ifdef FRMT_nitf |
343 | | GDALRegister_NITF(); |
344 | | GDALRegister_RPFTOC(); |
345 | | GDALRegister_ECRGTOC(); |
346 | | #endif |
347 | |
|
348 | | #ifdef FRMT_hfa |
349 | | GDALRegister_HFA(); |
350 | | #endif |
351 | |
|
352 | | #ifdef FRMT_ceos2 |
353 | | GDALRegister_SAR_CEOS(); |
354 | | #endif |
355 | |
|
356 | | #ifdef FRMT_ceos |
357 | | GDALRegister_CEOS(); |
358 | | #endif |
359 | |
|
360 | | #ifdef FRMT_jaxapalsar |
361 | | GDALRegister_PALSARJaxa(); |
362 | | #endif |
363 | |
|
364 | | #ifdef FRMT_gff |
365 | | GDALRegister_GFF(); |
366 | | #endif |
367 | |
|
368 | | #ifdef FRMT_esric |
369 | | GDALRegister_ESRIC(); |
370 | | #endif |
371 | |
|
372 | | #ifdef FRMT_aigrid |
373 | | // GDALRegister_AIGrid2(); |
374 | | GDALRegister_AIGrid(); |
375 | | #endif |
376 | |
|
377 | | #ifdef FRMT_aaigrid |
378 | | GDALRegister_AAIGrid(); |
379 | | GDALRegister_GRASSASCIIGrid(); |
380 | | GDALRegister_ISG(); |
381 | | #endif |
382 | |
|
383 | | #ifdef FRMT_dted |
384 | | GDALRegister_DTED(); |
385 | | #endif |
386 | |
|
387 | | #ifdef FRMT_png |
388 | | GDALRegister_PNG(); |
389 | | #endif |
390 | |
|
391 | | #ifdef FRMT_dds |
392 | | GDALRegister_DDS(); |
393 | | #endif |
394 | |
|
395 | | #ifdef FRMT_gta |
396 | | GDALRegister_GTA(); |
397 | | #endif |
398 | |
|
399 | | #ifdef FRMT_jpeg |
400 | | GDALRegister_JPEG(); |
401 | | #endif |
402 | |
|
403 | 0 | #ifdef FRMT_mem |
404 | 0 | GDALRegister_MEM(); |
405 | 0 | #endif |
406 | |
|
407 | | #ifdef FRMT_jdem |
408 | | GDALRegister_JDEM(); |
409 | | #endif |
410 | |
|
411 | | #ifdef FRMT_gif |
412 | | GDALRegister_GIF(); |
413 | | GDALRegister_BIGGIF(); |
414 | | #endif |
415 | |
|
416 | | #ifdef FRMT_envisat |
417 | | GDALRegister_Envisat(); |
418 | | #endif |
419 | |
|
420 | | #ifdef FRMT_fits |
421 | | GDALRegister_FITS(); |
422 | | #endif |
423 | |
|
424 | | #ifdef FRMT_bsb |
425 | | GDALRegister_BSB(); |
426 | | #endif |
427 | |
|
428 | | #ifdef FRMT_bmp |
429 | | GDALRegister_BMP(); |
430 | | #endif |
431 | |
|
432 | | #ifdef FRMT_dimap |
433 | | GDALRegister_DIMAP(); |
434 | | #endif |
435 | |
|
436 | | #ifdef FRMT_airsar |
437 | | GDALRegister_AirSAR(); |
438 | | #endif |
439 | |
|
440 | | #ifdef FRMT_rs2 |
441 | | GDALRegister_RS2(); |
442 | | #endif |
443 | |
|
444 | | #ifdef FRMT_safe |
445 | | GDALRegister_SAFE(); |
446 | | #endif |
447 | |
|
448 | | #ifdef FRMT_pcidsk |
449 | | GDALRegister_PCIDSK(); |
450 | | #endif |
451 | |
|
452 | | #ifdef FRMT_pcraster |
453 | | GDALRegister_PCRaster(); |
454 | | #endif |
455 | |
|
456 | | #ifdef FRMT_ilwis |
457 | | GDALRegister_ILWIS(); |
458 | | #endif |
459 | |
|
460 | | #ifdef FRMT_srtmhgt |
461 | | GDALRegister_SRTMHGT(); |
462 | | #endif |
463 | |
|
464 | | #ifdef FRMT_leveller |
465 | | GDALRegister_Leveller(); |
466 | | #endif |
467 | |
|
468 | | #ifdef FRMT_terragen |
469 | | GDALRegister_Terragen(); |
470 | | #endif |
471 | |
|
472 | | #ifdef FRMT_netcdf |
473 | | GDALRegister_netCDF(); |
474 | | #endif |
475 | |
|
476 | | #ifdef FRMT_hdf4 |
477 | | GDALRegister_HDF4(); |
478 | | GDALRegister_HDF4Image(); |
479 | | #endif |
480 | |
|
481 | | #ifdef FRMT_pds |
482 | | GDALRegister_ISIS3(); |
483 | | GDALRegister_ISIS2(); |
484 | | GDALRegister_PDS(); |
485 | | GDALRegister_PDS4(); |
486 | | GDALRegister_VICAR(); |
487 | | #endif |
488 | |
|
489 | | #ifdef FRMT_til |
490 | | GDALRegister_TIL(); |
491 | | #endif |
492 | |
|
493 | | #ifdef FRMT_ers |
494 | | GDALRegister_ERS(); |
495 | | #endif |
496 | |
|
497 | | #ifdef FRMT_jp2kak |
498 | | // JPEG2000 support using Kakadu toolkit |
499 | | GDALRegister_JP2KAK(); |
500 | | #endif |
501 | |
|
502 | | #ifdef FRMT_jpipkak |
503 | | // JPEG2000 support using Kakadu toolkit |
504 | | GDALRegister_JPIPKAK(); |
505 | | #endif |
506 | |
|
507 | | #ifdef FRMT_ecw |
508 | | GDALRegister_ECW(); |
509 | | GDALRegister_JP2ECW(); |
510 | | #endif |
511 | |
|
512 | | #ifdef FRMT_openjpeg |
513 | | // JPEG2000 support using OpenJPEG library |
514 | | GDALRegister_JP2OpenJPEG(); |
515 | | #endif |
516 | |
|
517 | | #ifdef FRMT_l1b |
518 | | GDALRegister_L1B(); |
519 | | #endif |
520 | |
|
521 | | #ifdef FRMT_grib |
522 | | GDALRegister_GRIB(); |
523 | | #endif |
524 | |
|
525 | | #ifdef FRMT_mrsid |
526 | | GDALRegister_MrSID(); |
527 | | #endif |
528 | |
|
529 | | #ifdef FRMT_rmf |
530 | | GDALRegister_RMF(); |
531 | | #endif |
532 | |
|
533 | | #ifdef FRMT_wcs |
534 | | GDALRegister_WCS(); |
535 | | #endif |
536 | |
|
537 | | #ifdef FRMT_wms |
538 | | GDALRegister_WMS(); |
539 | | #endif |
540 | |
|
541 | | #ifdef FRMT_msgn |
542 | | GDALRegister_MSGN(); |
543 | | #endif |
544 | |
|
545 | | #ifdef FRMT_msg |
546 | | GDALRegister_MSG(); |
547 | | #endif |
548 | |
|
549 | | #ifdef FRMT_idrisi |
550 | | GDALRegister_IDRISI(); |
551 | | #endif |
552 | |
|
553 | | #ifdef FRMT_gsg |
554 | | GDALRegister_GSAG(); |
555 | | GDALRegister_GSBG(); |
556 | | GDALRegister_GS7BG(); |
557 | | #endif |
558 | |
|
559 | | #ifdef FRMT_cosar |
560 | | GDALRegister_COSAR(); |
561 | | #endif |
562 | |
|
563 | | #ifdef FRMT_tsx |
564 | | GDALRegister_TSX(); |
565 | | #endif |
566 | |
|
567 | | #ifdef FRMT_coasp |
568 | | GDALRegister_COASP(); |
569 | | #endif |
570 | |
|
571 | | #ifdef FRMT_map |
572 | | GDALRegister_MAP(); |
573 | | #endif |
574 | |
|
575 | | #ifdef FRMT_kmlsuperoverlay |
576 | | GDALRegister_KMLSUPEROVERLAY(); |
577 | | #endif |
578 | |
|
579 | | #ifdef FRMT_webp |
580 | | GDALRegister_WEBP(); |
581 | | #endif |
582 | |
|
583 | | #ifdef FRMT_pdf |
584 | | GDALRegister_PDF(); |
585 | | #endif |
586 | |
|
587 | | #ifdef FRMT_mbtiles |
588 | | GDALRegister_MBTiles(); |
589 | | #endif |
590 | |
|
591 | | #ifdef FRMT_plmosaic |
592 | | GDALRegister_PLMOSAIC(); |
593 | | #endif |
594 | |
|
595 | | #ifdef FRMT_cals |
596 | | GDALRegister_CALS(); |
597 | | #endif |
598 | |
|
599 | | #ifdef FRMT_wmts |
600 | | GDALRegister_WMTS(); |
601 | | #endif |
602 | |
|
603 | | #ifdef FRMT_sentinel2 |
604 | | GDALRegister_SENTINEL2(); |
605 | | #endif |
606 | |
|
607 | | #ifdef FRMT_mrf |
608 | | GDALRegister_MRF(); |
609 | | #endif |
610 | |
|
611 | | #ifdef FRMT_tiledb |
612 | | GDALRegister_TileDB(); |
613 | | #endif |
614 | |
|
615 | | #ifdef FRMT_rdb |
616 | | GDALRegister_RDB(); |
617 | | #endif |
618 | | /* -------------------------------------------------------------------- */ |
619 | | /* Put raw formats at the end of the list. These drivers support */ |
620 | | /* various ASCII-header labeled formats, so the driver could be */ |
621 | | /* confused if you have files in some of above formats and such */ |
622 | | /* ASCII-header in the same directory. */ |
623 | | /* -------------------------------------------------------------------- */ |
624 | |
|
625 | | #ifdef FRMT_raw |
626 | | GDALRegister_raw_no_sidecar(); |
627 | | #endif |
628 | | |
629 | | /* -------------------------------------------------------------------- */ |
630 | | /* Our test for the following is weak or expensive so we try */ |
631 | | /* them last. */ |
632 | | /* -------------------------------------------------------------------- */ |
633 | |
|
634 | | #ifdef FRMT_rik |
635 | | GDALRegister_RIK(); |
636 | | #endif |
637 | |
|
638 | | #ifdef FRMT_usgsdem |
639 | | GDALRegister_USGSDEM(); |
640 | | #endif |
641 | |
|
642 | | #ifdef FRMT_gxf |
643 | | GDALRegister_GXF(); |
644 | | #endif |
645 | | |
646 | | /* Register KEA before HDF5 */ |
647 | | #ifdef FRMT_kea |
648 | | GDALRegister_KEA(); |
649 | | #endif |
650 | |
|
651 | | #ifdef FRMT_hdf5 |
652 | | GDALRegister_BAG(); |
653 | | GDALRegister_S102(); |
654 | | GDALRegister_S104(); |
655 | | GDALRegister_S111(); |
656 | | GDALRegister_HDF5(); |
657 | | GDALRegister_HDF5Image(); |
658 | | #endif |
659 | |
|
660 | | #ifdef FRMT_northwood |
661 | | GDALRegister_NWT_GRD(); |
662 | | GDALRegister_NWT_GRC(); |
663 | | #endif |
664 | |
|
665 | | #ifdef FRMT_adrg |
666 | | GDALRegister_ADRG(); |
667 | | GDALRegister_SRP(); |
668 | | #endif |
669 | |
|
670 | | #ifdef FRMT_georaster |
671 | | GDALRegister_GEOR(); |
672 | | #endif |
673 | |
|
674 | | #ifdef FRMT_postgisraster |
675 | | GDALRegister_PostGISRaster(); |
676 | | #endif |
677 | |
|
678 | | #ifdef FRMT_saga |
679 | | GDALRegister_SAGA(); |
680 | | #endif |
681 | |
|
682 | | #ifdef FRMT_xyz |
683 | | GDALRegister_XYZ(); |
684 | | #endif |
685 | |
|
686 | | #ifdef FRMT_hf2 |
687 | | GDALRegister_HF2(); |
688 | | #endif |
689 | |
|
690 | | #ifdef FRMT_ctg |
691 | | GDALRegister_CTG(); |
692 | | #endif |
693 | |
|
694 | | #ifdef FRMT_zmap |
695 | | GDALRegister_ZMap(); |
696 | | #endif |
697 | |
|
698 | | #ifdef FRMT_ngsgeoid |
699 | | GDALRegister_NGSGEOID(); |
700 | | #endif |
701 | |
|
702 | | #ifdef FRMT_iris |
703 | | GDALRegister_IRIS(); |
704 | | #endif |
705 | |
|
706 | | #ifdef FRMT_prf |
707 | | GDALRegister_PRF(); |
708 | | #endif |
709 | |
|
710 | | #ifdef FRMT_eeda |
711 | | GDALRegister_EEDAI(); |
712 | | GDALRegister_EEDA(); |
713 | | #endif |
714 | |
|
715 | | #ifdef FRMT_daas |
716 | | GDALRegister_DAAS(); |
717 | | #endif |
718 | |
|
719 | | #ifdef FRMT_null |
720 | | GDALRegister_NULL(); |
721 | | #endif |
722 | |
|
723 | | #ifdef FRMT_sigdem |
724 | | GDALRegister_SIGDEM(); |
725 | | #endif |
726 | |
|
727 | | #ifdef FRMT_exr |
728 | | GDALRegister_EXR(); |
729 | | #endif |
730 | |
|
731 | | #ifdef FRMT_avif |
732 | | GDALRegister_AVIF(); |
733 | | #endif |
734 | |
|
735 | | #ifdef FRMT_heif |
736 | | GDALRegister_HEIF(); |
737 | | #endif |
738 | |
|
739 | | #ifdef FRMT_tga |
740 | | GDALRegister_TGA(); |
741 | | #endif |
742 | |
|
743 | | #ifdef FRMT_ogcapi |
744 | | GDALRegister_OGCAPI(); |
745 | | #endif |
746 | |
|
747 | | #ifdef FRMT_stacta |
748 | | GDALRegister_STACTA(); |
749 | | #endif |
750 | |
|
751 | | #ifdef FRMT_stacit |
752 | | GDALRegister_STACIT(); |
753 | | #endif |
754 | |
|
755 | | #ifdef FRMT_jpegxl |
756 | | GDALRegister_JPEGXL(); |
757 | | #endif |
758 | |
|
759 | | #ifdef FRMT_basisu_ktx2 |
760 | | GDALRegister_BASISU(); |
761 | | GDALRegister_KTX2(); |
762 | | #endif |
763 | |
|
764 | | #ifdef FRMT_gdalg |
765 | | GDALRegister_GDALG(); |
766 | | #endif |
767 | | |
768 | | // NOTE: you need to generally insert your own driver before that line. |
769 | | |
770 | | // NOTE: frmts/drivers.ini in the same directory should be kept in same |
771 | | // order as this file |
772 | | |
773 | | /* -------------------------------------------------------------------- */ |
774 | | /* GNM and OGR drivers */ |
775 | | /* -------------------------------------------------------------------- */ |
776 | 0 | #ifdef GNM_ENABLED |
777 | 0 | GNMRegisterAllInternal(); |
778 | 0 | #endif |
779 | |
|
780 | 0 | OGRRegisterAllInternal(); |
781 | | |
782 | | /* -------------------------------------------------------------------- */ |
783 | | /* Put here drivers that absolutely need to look for side car */ |
784 | | /* files in their Identify()/Open() procedure. */ |
785 | | /* -------------------------------------------------------------------- */ |
786 | |
|
787 | | #ifdef FRMT_raw |
788 | | GDALRegister_raw_with_sidecar(); |
789 | | #endif |
790 | |
|
791 | | #ifdef FRMT_zarr |
792 | | GDALRegister_Zarr(); |
793 | | #endif |
794 | |
|
795 | | #ifdef FRMT_rcm |
796 | | GDALRegister_RCM(); |
797 | | #endif |
798 | |
|
799 | | #ifdef FRMT_miramon |
800 | | GDALRegister_MiraMon(); |
801 | | #endif |
802 | | |
803 | | /* -------------------------------------------------------------------- */ |
804 | | /* Register GDAL HTTP last, to let a chance to other drivers */ |
805 | | /* accepting URL to handle them before. */ |
806 | | /* -------------------------------------------------------------------- */ |
807 | | #ifdef FRMT_http |
808 | | GDALRegister_HTTP(); |
809 | | #endif |
810 | |
|
811 | 0 | poDriverManager->AutoLoadPythonDrivers(); |
812 | | |
813 | | /* -------------------------------------------------------------------- */ |
814 | | /* Deregister any drivers explicitly marked as suppressed by the */ |
815 | | /* GDAL_SKIP environment variable. */ |
816 | | /* -------------------------------------------------------------------- */ |
817 | 0 | poDriverManager->AutoSkipDrivers(); |
818 | |
|
819 | 0 | poDriverManager->ReorderDrivers(); |
820 | 0 | } |