LCOV - code coverage report
Current view: top level - frmts - gdalallregister.cpp (source / functions) Hit Total Coverage
Test: gdal_filtered.info Lines: 151 151 100.0 %
Date: 2026-06-19 21:24:00 Functions: 3 3 100.0 %

          Line data    Source code
       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           1 : CPLErr GDALRegisterPlugin(const char *name)
      52             : {
      53           1 :     auto poDriverManager = GetGDALDriverManager();
      54             :     // LoadPlugin is a no-op if compiled with GDAL_NO_AUTOLOAD defined.
      55           1 :     return poDriverManager->LoadPlugin(name);
      56             : }
      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           1 : void CPL_DLL GDALRegisterPlugins(void)
      79             : {
      80           1 :     auto poDriverManager = GetGDALDriverManager();
      81             :     // AutoLoadDrivers is a no-op if compiled with GDAL_NO_AUTOLOAD defined.
      82           1 :     poDriverManager->AutoLoadDrivers();
      83           1 :     poDriverManager->AutoLoadPythonDrivers();
      84             : 
      85             :     /* -------------------------------------------------------------------- */
      86             :     /*      Deregister any drivers explicitly marked as suppressed by the   */
      87             :     /*      GDAL_SKIP environment variable.                                 */
      88             :     /* -------------------------------------------------------------------- */
      89           1 :     poDriverManager->AutoSkipDrivers();
      90             : 
      91           1 :     poDriverManager->ReorderDrivers();
      92           1 : }
      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        2135 : void CPL_STDCALL GDALAllRegister()
     112             : 
     113             : {
     114        2135 :     auto poDriverManager = GetGDALDriverManager();
     115             : 
     116             : #if defined(HAVE_EXTERNAL_DEFERRED_PLUGINS)
     117             :     DeclareExternalDeferredPlugins();
     118             : #endif
     119             : 
     120             : #if defined(DEFERRED_ARROW_DRIVER)
     121        2135 :     DeclareDeferredOGRArrowPlugin();
     122             : #endif
     123             : #if defined(DEFERRED_BASISU_KTX2_DRIVER)
     124        2135 :     DeclareDeferredBASISU_KTX2Plugin();
     125             : #endif
     126             : #if defined(DEFERRED_CAD_DRIVER)
     127        2135 :     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        2135 :     DeclareDeferredEXRPlugin();
     144             : #endif
     145             : #if defined(DEFERRED_ECW_DRIVER)
     146        2135 :     DeclareDeferredECWPlugin();
     147             : #endif
     148             : #if defined(DEFERRED_FILEGDB_DRIVER)
     149        2135 :     DeclareDeferredOGRFileGDBPlugin();
     150             : #endif
     151             : #if defined(DEFERRED_FITS_DRIVER)
     152        2135 :     DeclareDeferredFITSPlugin();
     153             : #endif
     154             : #if defined(DEFERRED_GEOR_DRIVER)
     155             :     DeclareDeferredGEORPlugin();
     156             : #endif
     157             : #if defined(DEFERRED_GIF_DRIVER)
     158        2135 :     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        2135 :     DeclareDeferredOGRHANAPlugin();
     171             : #endif
     172             : #if defined(DEFERRED_AVIF_DRIVER)
     173             :     DeclareDeferredAVIFPlugin();
     174             : #endif
     175             : #if defined(DEFERRED_HEIF_DRIVER)
     176        2135 :     DeclareDeferredHEIFPlugin();
     177             : #endif
     178             : #if defined(DEFERRED_HDF4_DRIVER)
     179        2135 :     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        2135 :     DeclareDeferredKEAPlugin();
     185             : #endif
     186             : #if defined(DEFERRED_HDF5_DRIVER)
     187        2135 :     DeclareDeferredHDF5Plugin();
     188             : #endif
     189             : #if defined(DEFERRED_IDB_DRIVER)
     190             :     DeclareDeferredOGRIDBPlugin();
     191             : #endif
     192             : #if defined(DEFERRED_JP2Grok_DRIVER)
     193             :     DeclareDeferredJP2GrokPlugin();
     194             : #endif
     195             : #if defined(DEFERRED_JP2KAK_DRIVER)
     196             :     DeclareDeferredJP2KAKPlugin();
     197             : #endif
     198             : #if defined(DEFERRED_JP2OPENJPEG_DRIVER)
     199        2135 :     DeclareDeferredOPENJPEGPlugin();
     200             : #endif
     201             : #if defined(DEFERRED_JPEG_DRIVER)
     202             :     DeclareDeferredJPEGPlugin();
     203             : #endif
     204             : #if defined(DEFERRED_JPEGXL_DRIVER)
     205        2135 :     DeclareDeferredJPEGXLPlugin();
     206             : #endif
     207             : #if defined(DEFERRED_JPIPKAK_DRIVER)
     208             :     DeclareDeferredJPIPKAKPlugin();
     209             : #endif
     210             : #if defined(DEFERRED_LIBKML_DRIVER)
     211        2135 :     DeclareDeferredOGRLIBKMLPlugin();
     212             : #endif
     213             : #if defined(DEFERRED_MONGODBV3_DRIVER)
     214             :     DeclareDeferredOGRMongoDBv3Plugin();
     215             : #endif
     216             : #if defined(DEFERRED_LERC_DRIVER)
     217             :     DeclareDeferredLERCPlugin();
     218             : #endif
     219             : #if defined(DEFERRED_MRF_DRIVER)
     220             :     DeclareDeferredMRFPlugin();
     221             : #endif
     222             : #if defined(DEFERRED_MRSID_DRIVER)
     223             :     DeclareDeferredMrSIDPlugin();
     224             : #endif
     225             : #if defined(DEFERRED_MSG_DRIVER)
     226             :     DeclareDeferredMSGPlugin();
     227             : #endif
     228             : #if defined(DEFERRED_MSSQLSPATIAL_DRIVER)
     229        2135 :     DeclareDeferredOGRMSSQLSpatialPlugin();
     230             : #endif
     231             : #if defined(DEFERRED_MYSQL_DRIVER)
     232        2135 :     DeclareDeferredOGRMySQLPlugin();
     233             : #endif
     234             : #if defined(DEFERRED_NETCDF_DRIVER)
     235        2135 :     DeclareDeferredNetCDFPlugin();
     236             : #endif
     237             : #if defined(DEFERRED_NITF_DRIVER)
     238             :     DeclareDeferredNITFPlugin();
     239             : #endif
     240             : #if defined(DEFERRED_OCI_DRIVER)
     241             :     DeclareDeferredOGROCIPlugin();
     242             : #endif
     243             : #if defined(DEFERRED_ODBC_DRIVER)
     244        2135 :     DeclareDeferredOGRODBCPlugin();
     245             : #endif
     246             : #if defined(DEFERRED_OGDI_DRIVER)
     247             :     DeclareDeferredOGROGDIPlugin();
     248             : #endif
     249             : #if defined(DEFERRED_OPENFILEGDB_DRIVER)
     250             :     DeclareDeferredOGROpenFileGDBPlugin();
     251             : #endif
     252             : #if defined(DEFERRED_PARQUET_DRIVER)
     253        2135 :     DeclareDeferredOGRParquetPlugin();
     254             : #endif
     255             : #if defined(DEFERRED_PCIDSK_DRIVER)
     256        2135 :     DeclareDeferredPCIDSKPlugin();
     257             : #endif
     258             : #if defined(DEFERRED_PCRASTER_DRIVER)
     259        2135 :     DeclareDeferredPCRasterPlugin();
     260             : #endif
     261             : #if defined(DEFERRED_POSTGISRASTER_DRIVER)
     262        2135 :     DeclareDeferredPostGISRasterPlugin();
     263             : #endif
     264             : #if defined(DEFERRED_PLSCENES_DRIVER)
     265             :     DeclareDeferredOGRPLSCENESPlugin();
     266             : #endif
     267             : #if defined(DEFERRED_PDF_DRIVER)
     268        2135 :     DeclareDeferredPDFPlugin();
     269             : #endif
     270             : #if defined(DEFERRED_PDS_DRIVER)
     271             :     DeclareDeferredPDSPlugin();
     272             : #endif
     273             : #if defined(DEFERRED_PG_DRIVER)
     274        2135 :     DeclareDeferredOGRPGPlugin();
     275             : #endif
     276             : #if defined(DEFERRED_PNG_DRIVER)
     277        2135 :     DeclareDeferredPNGPlugin();
     278             : #endif
     279             : #if defined(DEFERRED_RASTERLITE_DRIVER)
     280             :     DeclareDeferredRasterlitePlugin();
     281             : #endif
     282             : #if defined(DEFERRED_SOSI_DRIVER)
     283        2135 :     DeclareDeferredOGRSOSIPlugin();
     284             : #endif
     285             : #if defined(DEFERRED_TILEDB_DRIVER)
     286        2135 :     DeclareDeferredTileDBPlugin();
     287             : #endif
     288             : #if defined(DEFERRED_VFK_DRIVER)
     289        2135 :     DeclareDeferredOGRVFKPlugin();
     290             : #endif
     291             : #if defined(DEFERRED_WCS_DRIVER)
     292             :     DeclareDeferredWCSPlugin();
     293             : #endif
     294             : #if defined(DEFERRED_WEBP_DRIVER)
     295        2135 :     DeclareDeferredWEBPPlugin();
     296             : #endif
     297             : #if defined(DEFERRED_WMS_DRIVER)
     298        2135 :     DeclareDeferredWMSPlugin();
     299             : #endif
     300             : #if defined(DEFERRED_WMTS_DRIVER)
     301             :     DeclareDeferredWMTSPlugin();
     302             : #endif
     303             : #if defined(DEFERRED_XLS_DRIVER)
     304        2135 :     DeclareDeferredOGRXLSPlugin();
     305             : #endif
     306             : #if defined(DEFERRED_ZARR_DRIVER)
     307             :     DeclareDeferredZarrPlugin();
     308             : #endif
     309             : #if defined(DEFERRED_ICECHUNK_DRIVER)
     310             :     DeclareDeferredIcechunkPlugin();
     311             : #endif
     312             : #if defined(DEFERRED_XODR_DRIVER)
     313        2135 :     DeclareDeferredOGRXODRPlugin();
     314             : #endif
     315             : #if defined(DEFERRED_ADBC_DRIVER)
     316        2135 :     DeclareDeferredOGRADBCPlugin();
     317             : #endif
     318             : #if defined(DEFERRED_S101_DRIVER)
     319             :     DeclareDeferredOGRS101Plugin();
     320             : #endif
     321             : 
     322             :     // AutoLoadDrivers is a no-op if compiled with GDAL_NO_AUTOLOAD defined.
     323        2135 :     poDriverManager->AutoLoadDrivers();
     324             : 
     325             :     // NOTE: frmts/drivers.ini in the same directory should be kept in same
     326             :     // order as this file
     327             : 
     328             : #ifdef FRMT_derived
     329        2135 :     GDALRegister_Derived();
     330             : #endif
     331             : 
     332             : #ifdef FRMT_gti
     333        2135 :     GDALRegister_GTI();
     334             : #endif
     335             : 
     336             : #ifdef FRMT_snap_tiff
     337        2135 :     GDALRegister_SNAP_TIFF();
     338             : #endif
     339             : 
     340             : #ifdef FRMT_gtiff
     341        2135 :     GDALRegister_GTiff();
     342        2135 :     GDALRegister_COG();
     343             : #endif
     344             : 
     345             : #ifdef FRMT_libertiff
     346        2135 :     GDALRegister_LIBERTIFF();
     347             : #endif
     348             : 
     349             :     // VRT needs to be registered after GeoTIFF as it queries its metadata
     350             : #ifdef FRMT_vrt
     351        2135 :     GDALRegister_VRT();
     352             : #endif
     353             : 
     354             : #ifdef FRMT_nitf
     355        2135 :     GDALRegister_NITF();
     356        2135 :     GDALRegister_RPFTOC();
     357        2135 :     GDALRegister_ECRGTOC();
     358             : #endif
     359             : 
     360             : #ifdef FRMT_hfa
     361        2135 :     GDALRegister_HFA();
     362             : #endif
     363             : 
     364             : #ifdef FRMT_ceos2
     365        2135 :     GDALRegister_SAR_CEOS();
     366             : #endif
     367             : 
     368             : #ifdef FRMT_ceos
     369        2135 :     GDALRegister_CEOS();
     370             : #endif
     371             : 
     372             : #ifdef FRMT_jaxapalsar
     373        2135 :     GDALRegister_PALSARJaxa();
     374             : #endif
     375             : 
     376             : #ifdef FRMT_gff
     377        2135 :     GDALRegister_GFF();
     378             : #endif
     379             : 
     380             : #ifdef FRMT_esric
     381        2135 :     GDALRegister_ESRIC();
     382             : #endif
     383             : 
     384             : #ifdef FRMT_aigrid
     385             :     //    GDALRegister_AIGrid2();
     386        2135 :     GDALRegister_AIGrid();
     387             : #endif
     388             : 
     389             : #ifdef FRMT_aaigrid
     390        2135 :     GDALRegister_AAIGrid();
     391        2135 :     GDALRegister_GRASSASCIIGrid();
     392        2135 :     GDALRegister_ISG();
     393             : #endif
     394             : 
     395             : #ifdef FRMT_dted
     396        2135 :     GDALRegister_DTED();
     397             : #endif
     398             : 
     399             : #ifdef FRMT_png
     400             :     GDALRegister_PNG();
     401             : #endif
     402             : 
     403             : #ifdef FRMT_dds
     404             :     GDALRegister_DDS();
     405             : #endif
     406             : 
     407             : #ifdef FRMT_gta
     408             :     GDALRegister_GTA();
     409             : #endif
     410             : 
     411             : #ifdef FRMT_jpeg
     412        2135 :     GDALRegister_JPEG();
     413             : #endif
     414             : 
     415             : #ifdef FRMT_mem
     416        2135 :     GDALRegister_MEM();
     417             : #endif
     418             : 
     419             : #ifdef FRMT_jdem
     420        2135 :     GDALRegister_JDEM();
     421             : #endif
     422             : 
     423             : #ifdef FRMT_gif
     424             :     GDALRegister_GIF();
     425             :     GDALRegister_BIGGIF();
     426             : #endif
     427             : 
     428             : #ifdef FRMT_envisat
     429        2135 :     GDALRegister_Envisat();
     430             : #endif
     431             : 
     432             : #ifdef FRMT_fits
     433             :     GDALRegister_FITS();
     434             : #endif
     435             : 
     436             : #ifdef FRMT_bsb
     437        2135 :     GDALRegister_BSB();
     438             : #endif
     439             : 
     440             : #ifdef FRMT_bmp
     441        2135 :     GDALRegister_BMP();
     442             : #endif
     443             : 
     444             : #ifdef FRMT_dimap
     445        2135 :     GDALRegister_DIMAP();
     446             : #endif
     447             : 
     448             : #ifdef FRMT_airsar
     449        2135 :     GDALRegister_AirSAR();
     450             : #endif
     451             : 
     452             : #ifdef FRMT_rs2
     453        2135 :     GDALRegister_RS2();
     454             : #endif
     455             : 
     456             : #ifdef FRMT_safe
     457        2135 :     GDALRegister_SAFE();
     458             : #endif
     459             : 
     460             : #ifdef FRMT_pcidsk
     461             :     GDALRegister_PCIDSK();
     462             : #endif
     463             : 
     464             : #ifdef FRMT_pcraster
     465             :     GDALRegister_PCRaster();
     466             : #endif
     467             : 
     468             : #ifdef FRMT_ilwis
     469        2135 :     GDALRegister_ILWIS();
     470             : #endif
     471             : 
     472             : #ifdef FRMT_srtmhgt
     473        2135 :     GDALRegister_SRTMHGT();
     474             : #endif
     475             : 
     476             : #ifdef FRMT_leveller
     477        2135 :     GDALRegister_Leveller();
     478             : #endif
     479             : 
     480             : #ifdef FRMT_terragen
     481        2135 :     GDALRegister_Terragen();
     482             : #endif
     483             : 
     484             : #ifdef FRMT_netcdf
     485             :     GDALRegister_netCDF();
     486             : #endif
     487             : 
     488             : #ifdef FRMT_hdf4
     489             :     GDALRegister_HDF4();
     490             :     GDALRegister_HDF4Image();
     491             : #endif
     492             : 
     493             : #ifdef FRMT_pds
     494        2135 :     GDALRegister_ISIS3();
     495        2135 :     GDALRegister_ISIS2();
     496        2135 :     GDALRegister_PDS();
     497        2135 :     GDALRegister_PDS4();
     498        2135 :     GDALRegister_VICAR();
     499             : #endif
     500             : 
     501             : #ifdef FRMT_til
     502        2135 :     GDALRegister_TIL();
     503             : #endif
     504             : 
     505             : #ifdef FRMT_ers
     506        2135 :     GDALRegister_ERS();
     507             : #endif
     508             : 
     509             : #ifdef FRMT_jp2grok
     510             :     GDALRegister_JP2Grok();
     511             : #endif
     512             : 
     513             : #ifdef FRMT_jp2kak
     514             :     // JPEG2000 support using Kakadu toolkit
     515             :     GDALRegister_JP2KAK();
     516             : #endif
     517             : 
     518             : #ifdef FRMT_jpipkak
     519             :     // JPEG2000 support using Kakadu toolkit
     520             :     GDALRegister_JPIPKAK();
     521             : #endif
     522             : 
     523             : #ifdef FRMT_ecw
     524             :     GDALRegister_ECW();
     525             :     GDALRegister_JP2ECW();
     526             : #endif
     527             : 
     528             : #ifdef FRMT_openjpeg
     529             :     // JPEG2000 support using OpenJPEG library
     530             :     GDALRegister_JP2OpenJPEG();
     531             : #endif
     532             : 
     533             : #ifdef FRMT_l1b
     534        2135 :     GDALRegister_L1B();
     535             : #endif
     536             : 
     537             : #ifdef FRMT_grib
     538        2135 :     GDALRegister_GRIB();
     539             : #endif
     540             : 
     541             : #ifdef FRMT_mrsid
     542        2135 :     GDALRegister_MrSID();
     543             : #endif
     544             : 
     545             : #ifdef FRMT_rmf
     546        2135 :     GDALRegister_RMF();
     547             : #endif
     548             : 
     549             : #ifdef FRMT_wcs
     550        2135 :     GDALRegister_WCS();
     551             : #endif
     552             : 
     553             : #ifdef FRMT_wms
     554             :     GDALRegister_WMS();
     555             : #endif
     556             : 
     557             : #ifdef FRMT_msgn
     558        2135 :     GDALRegister_MSGN();
     559             : #endif
     560             : 
     561             : #ifdef FRMT_msg
     562             :     GDALRegister_MSG();
     563             : #endif
     564             : 
     565             : #ifdef FRMT_idrisi
     566        2135 :     GDALRegister_IDRISI();
     567             : #endif
     568             : 
     569             : #ifdef FRMT_gsg
     570        2135 :     GDALRegister_GSAG();
     571        2135 :     GDALRegister_GSBG();
     572        2135 :     GDALRegister_GS7BG();
     573             : #endif
     574             : 
     575             : #ifdef FRMT_cosar
     576        2135 :     GDALRegister_COSAR();
     577             : #endif
     578             : 
     579             : #ifdef FRMT_tsx
     580        2135 :     GDALRegister_TSX();
     581             : #endif
     582             : 
     583             : #ifdef FRMT_coasp
     584        2135 :     GDALRegister_COASP();
     585             : #endif
     586             : 
     587             : #ifdef FRMT_map
     588        2135 :     GDALRegister_MAP();
     589             : #endif
     590             : 
     591             : #ifdef FRMT_kmlsuperoverlay
     592        2135 :     GDALRegister_KMLSUPEROVERLAY();
     593             : #endif
     594             : 
     595             : #ifdef FRMT_webp
     596             :     GDALRegister_WEBP();
     597             : #endif
     598             : 
     599             : #ifdef FRMT_pdf
     600             :     GDALRegister_PDF();
     601             : #endif
     602             : 
     603             : #ifdef FRMT_mbtiles
     604        2135 :     GDALRegister_MBTiles();
     605             : #endif
     606             : 
     607             : #ifdef FRMT_plmosaic
     608        2135 :     GDALRegister_PLMOSAIC();
     609             : #endif
     610             : 
     611             : #ifdef FRMT_cals
     612        2135 :     GDALRegister_CALS();
     613             : #endif
     614             : 
     615             : #ifdef FRMT_wmts
     616        2135 :     GDALRegister_WMTS();
     617             : #endif
     618             : 
     619             : #ifdef FRMT_sentinel2
     620        2135 :     GDALRegister_SENTINEL2();
     621             : #endif
     622             : 
     623             : #ifdef FRMT_lerc
     624        2135 :     GDALRegister_LERC();
     625             : #endif
     626             : 
     627             : #ifdef FRMT_mrf
     628        2135 :     GDALRegister_MRF();
     629             : #endif
     630             : 
     631             : #ifdef FRMT_rdb
     632             :     GDALRegister_RDB();
     633             : #endif
     634             :     /* -------------------------------------------------------------------- */
     635             :     /*      Put raw formats at the end of the list. These drivers support   */
     636             :     /*      various ASCII-header labeled formats, so the driver could be    */
     637             :     /*      confused if you have files in some of above formats and such    */
     638             :     /*      ASCII-header in the same directory.                             */
     639             :     /* -------------------------------------------------------------------- */
     640             : 
     641             : #ifdef FRMT_raw
     642        2135 :     GDALRegister_raw_no_sidecar();
     643             : #endif
     644             : 
     645             : #ifdef FRMT_tiledb
     646             :     GDALRegister_TileDB();
     647             : #endif
     648             : 
     649             :     /* -------------------------------------------------------------------- */
     650             :     /*      Our test for the following is weak or expensive so we try       */
     651             :     /*      them last.                                                      */
     652             :     /* -------------------------------------------------------------------- */
     653             : 
     654             : #ifdef FRMT_rik
     655        2135 :     GDALRegister_RIK();
     656             : #endif
     657             : 
     658             : #ifdef FRMT_usgsdem
     659        2135 :     GDALRegister_USGSDEM();
     660             : #endif
     661             : 
     662             : #ifdef FRMT_gxf
     663        2135 :     GDALRegister_GXF();
     664             : #endif
     665             : 
     666             : /* Register KEA before HDF5 */
     667             : #ifdef FRMT_kea
     668             :     GDALRegister_KEA();
     669             : #endif
     670             : 
     671             : #ifdef FRMT_hdf5
     672             :     GDALRegister_BAG();
     673             :     GDALRegister_S102();
     674             :     GDALRegister_S104();
     675             :     GDALRegister_S111();
     676             :     GDALRegister_HDF5();
     677             :     GDALRegister_HDF5Image();
     678             : #endif
     679             : 
     680             : #ifdef FRMT_northwood
     681        2135 :     GDALRegister_NWT_GRD();
     682        2135 :     GDALRegister_NWT_GRC();
     683             : #endif
     684             : 
     685             : #ifdef FRMT_adrg
     686        2135 :     GDALRegister_ADRG();
     687        2135 :     GDALRegister_SRP();
     688             : #endif
     689             : 
     690             : #ifdef FRMT_georaster
     691             :     GDALRegister_GEOR();
     692             : #endif
     693             : 
     694             : #ifdef FRMT_postgisraster
     695             :     GDALRegister_PostGISRaster();
     696             : #endif
     697             : 
     698             : #ifdef FRMT_saga
     699        2135 :     GDALRegister_SAGA();
     700             : #endif
     701             : 
     702             : #ifdef FRMT_xyz
     703        2135 :     GDALRegister_XYZ();
     704             : #endif
     705             : 
     706             : #ifdef FRMT_hf2
     707        2135 :     GDALRegister_HF2();
     708             : #endif
     709             : 
     710             : #ifdef FRMT_ctg
     711        2135 :     GDALRegister_CTG();
     712             : #endif
     713             : 
     714             : #ifdef FRMT_zmap
     715        2135 :     GDALRegister_ZMap();
     716             : #endif
     717             : 
     718             : #ifdef FRMT_ngsgeoid
     719        2135 :     GDALRegister_NGSGEOID();
     720             : #endif
     721             : 
     722             : #ifdef FRMT_iris
     723        2135 :     GDALRegister_IRIS();
     724             : #endif
     725             : 
     726             : #ifdef FRMT_prf
     727        2135 :     GDALRegister_PRF();
     728             : #endif
     729             : 
     730             : #ifdef FRMT_eeda
     731        2135 :     GDALRegister_EEDAI();
     732        2135 :     GDALRegister_EEDA();
     733             : #endif
     734             : 
     735             : #ifdef FRMT_daas
     736        2135 :     GDALRegister_DAAS();
     737             : #endif
     738             : 
     739             : #ifdef FRMT_null
     740        2135 :     GDALRegister_NULL();
     741             : #endif
     742             : 
     743             : #ifdef FRMT_sigdem
     744        2135 :     GDALRegister_SIGDEM();
     745             : #endif
     746             : 
     747             : #ifdef FRMT_exr
     748             :     GDALRegister_EXR();
     749             : #endif
     750             : 
     751             : #ifdef FRMT_avif
     752             :     GDALRegister_AVIF();
     753             : #endif
     754             : 
     755             : #ifdef FRMT_heif
     756             :     GDALRegister_HEIF();
     757             : #endif
     758             : 
     759             : #ifdef FRMT_tga
     760        2135 :     GDALRegister_TGA();
     761             : #endif
     762             : 
     763             : #ifdef FRMT_ogcapi
     764        2135 :     GDALRegister_OGCAPI();
     765             : #endif
     766             : 
     767             : #ifdef FRMT_stacta
     768        2135 :     GDALRegister_STACTA();
     769             : #endif
     770             : 
     771             : #ifdef FRMT_stacit
     772        2135 :     GDALRegister_STACIT();
     773             : #endif
     774             : 
     775             : #ifdef FRMT_jpegxl
     776             :     GDALRegister_JPEGXL();
     777             : #endif
     778             : 
     779             : #ifdef FRMT_basisu_ktx2
     780             :     GDALRegister_BASISU();
     781             :     GDALRegister_KTX2();
     782             : #endif
     783             : 
     784             : #ifdef FRMT_gdalg
     785        2135 :     GDALRegister_GDALG();
     786             : #endif
     787             : 
     788             : #ifdef FRMT_e57
     789        2135 :     GDALRegister_E57();
     790             : #endif
     791             : 
     792             :     // NOTE: you need to generally insert your own driver before that line.
     793             : 
     794             :     // NOTE: frmts/drivers.ini in the same directory should be kept in same
     795             :     // order as this file
     796             : 
     797             : /* -------------------------------------------------------------------- */
     798             : /*     GNM and OGR drivers                                              */
     799             : /* -------------------------------------------------------------------- */
     800             : #ifdef GNM_ENABLED
     801        2135 :     GNMRegisterAllInternal();
     802             : #endif
     803             : 
     804        2135 :     OGRRegisterAllInternal();
     805             : 
     806             :     /* -------------------------------------------------------------------- */
     807             :     /*      Put here drivers that absolutely need to look for side car      */
     808             :     /*      files in their Identify()/Open() procedure.                     */
     809             :     /* -------------------------------------------------------------------- */
     810             : 
     811             : #ifdef FRMT_raw
     812        2135 :     GDALRegister_raw_with_sidecar();
     813             : #endif
     814             : 
     815             : #ifdef FRMT_zarr
     816        2135 :     GDALRegister_Zarr();
     817             : #endif
     818             : 
     819             : #ifdef FRMT_icechunk
     820        2135 :     GDALRegister_Icechunk();
     821             : #endif
     822             : 
     823             : #ifdef FRMT_rcm
     824        2135 :     GDALRegister_RCM();
     825             : #endif
     826             : 
     827             : #ifdef FRMT_miramon
     828        2135 :     GDALRegister_MiraMon();
     829             : #endif
     830             : 
     831             : /* -------------------------------------------------------------------- */
     832             : /*      Register GDAL HTTP last, to let a chance to other drivers       */
     833             : /*      accepting URL to handle them before.                            */
     834             : /* -------------------------------------------------------------------- */
     835             : #ifdef FRMT_http
     836        2135 :     GDALRegister_HTTP();
     837             : #endif
     838             : 
     839        2135 :     poDriverManager->AutoLoadPythonDrivers();
     840             : 
     841             :     /* -------------------------------------------------------------------- */
     842             :     /*      Deregister any drivers explicitly marked as suppressed by the   */
     843             :     /*      GDAL_SKIP environment variable.                                 */
     844             :     /* -------------------------------------------------------------------- */
     845        2135 :     poDriverManager->AutoSkipDrivers();
     846             : 
     847        2135 :     poDriverManager->ReorderDrivers();
     848        2135 : }

Generated by: LCOV version 1.14