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

Generated by: LCOV version 1.14