Main Page Class Hierarchy Compound List File List Compound Members File Members Related Pages

# gdalallregister.cpp

    00001 /******************************************************************************
    00002  * Copyright (c) 1998, Frank Warmerdam
    00003  *
    00004  * Permission is hereby granted, free of charge, to any person obtaining a
    00005  * copy of this software and associated documentation files (the "Software"),
    00006  * to deal in the Software without restriction, including without limitation
    00007  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    00008  * and/or sell copies of the Software, and to permit persons to whom the
    00009  * Software is furnished to do so, subject to the following conditions:
    00010  *
    00011  * The above copyright notice and this permission notice shall be included
    00012  * in all copies or substantial portions of the Software.
    00013  *
    00014  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
    00015  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    00016  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    00017  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    00018  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    00019  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    00020  * DEALINGS IN THE SOFTWARE.
    00021  ******************************************************************************
    00022  *
    00023  * gdalallregister.cpp
    00024  *
    00025  * Main format registration function.
    00026  *
    00027  * $Log: gdalallregister_cpp-source.html,v $
    00027  * Revision 1.13  2002/12/21 19:13:12  warmerda
    00027  * updated
    00027  *
    00028  * Revision 1.53  2002/12/03 19:03:08  dron
    00029  * Added BMP driver.
    00030  *
    00031  * Revision 1.52  2002/12/03 04:42:35  warmerda
    00032  * added NITF
    00033  *
    00034  * Revision 1.51  2002/11/05 06:20:07  warmerda
    00035  * hacks for JP2KAK support
    00036  *
    00037  * Revision 1.50  2002/10/21 18:03:22  warmerda
    00038  * added AutoSkipDrivers() call
    00039  *
    00040  * Revision 1.49  2002/10/10 10:43:37  dron
    00041  * Fix for buiding GDAL with JasPer software under Windows.
    00042  *
    00043  * Revision 1.48  2002/10/05 12:05:21  dron
    00044  * JPEG2000, L1B and HDF4 registrations moved in front of RAW (to avoid
    00045  * problems with PAux). Removed extra JPEG2000 registration. FAST registration
    00046  * combined with other RAW formats.
    00047  *
    00048  * Revision 1.47  2002/10/03 05:41:17  warmerda
    00049  * added GSC Geogrid format
    00050  *
    00051  * Revision 1.46  2002/09/19 14:49:41  warmerda
    00052  * added jpeg2000
    00053  *
    00054  * Revision 1.45  2002/08/13 16:59:53  dron
    00055  * New driver: EOSAT FAST format
    00056  *
    00057  * Revision 1.44  2002/07/16 13:30:27  dron
    00058  * New driver: HDF4 dataset.
    00059  *
    00060  * Revision 1.43  2002/06/13 09:53:45  dron
    00061  * Registration of AVHRR L1B driver moved above of GRASS driver registartion.
    00062  *
    00063  * Revision 1.42  2002/05/08 16:34:26  dron
    00064  * NOAA Polar Orbiter Dataset reader added
    00065  *
    00066  * Revision 1.41  2002/04/12 20:19:25  warmerda
    00067  * added xpm
    00068  *
    00069  * Revision 1.40  2002/03/04 21:54:20  warmerda
    00070  * added envi format
    00071  *
    00072  * Revision 1.39  2001/12/08 04:43:48  warmerda
    00073  * added BSB registration
    00074  *
    00075  * Revision 1.38  2001/11/27 14:39:41  warmerda
    00076  * added usgsdem
    00077  *
    00078  * Revision 1.37  2001/11/16 21:13:47  warmerda
    00079  * added VRT dataset
    00080  *
    00081  * Revision 1.36  2001/09/17 18:05:20  warmerda
    00082  * Register DOQ2 format.
    00083  *
    00084  * Revision 1.35  2001/07/18 04:51:56  warmerda
    00085  * added CPL_CVSID
    00086  *
    00087  * Revision 1.34  2001/07/05 23:53:53  nemec
    00088  * Add FIT file format
    00089  *
    00090  * Revision 1.33  2001/05/15 13:24:42  warmerda
    00091  * added fujibas
    00092  *
    00093  * Revision 1.32  2001/04/02 17:11:45  warmerda
    00094  * added ecw support
    00095  *
    00096  * Revision 1.31  2001/03/12 15:17:32  warmerda
    00097  * added aaigrid
    00098  *
    00099  * Revision 1.30  2001/03/06 03:53:44  sperkins
    00100  * Added FITS format support.
    00101  *
    00102  * Revision 1.29  2001/02/06 16:34:30  warmerda
    00103  * moved format registration entry points to gdal_frmts.h
    00104  *
    00105  * Revision 1.28  2001/01/15 14:32:30  warmerda
    00106  * added envisat
    00107  *
    00108  * Revision 1.27  2001/01/10 04:41:09  warmerda
    00109  * added gif support
    00110  *
    00111  * Revision 1.26  2001/01/03 18:53:23  warmerda
    00112  * Added PNM
    00113  *
    00114  * Revision 1.25  2000/11/27 19:03:44  warmerda
    00115  * added JDEM format
    00116  *
    00117  * Revision 1.24  2000/11/16 14:48:53  warmerda
    00118  * moved GXF down in driver ordering
    00119  *
    00120  * Revision 1.23  2000/09/11 13:32:26  warmerda
    00121  * added grass
    00122  *
    00123  * Revision 1.22  2000/07/19 19:06:39  warmerda
    00124  * added mem
    00125  *
    00126  * Revision 1.21  2000/06/20 17:36:38  warmerda
    00127  * added eosat fast format support
    00128  *
    00129  * Revision 1.20  2000/04/28 20:59:03  warmerda
    00130  * added jpeg
    00131  *
    00132  * Revision 1.19  2000/04/27 20:02:17  warmerda
    00133  * added png
    00134  *
    00135  * Revision 1.18  2000/04/04 23:44:45  warmerda
    00136  * also call auto register function
    00137  *
    00138  * Revision 1.17  2000/03/31 13:35:32  warmerda
    00139  * added SAR_CEOS
    00140  *
    00141  * Revision 1.16  2000/03/07 21:34:50  warmerda
    00142  * added HKV
    00143  *
    00144  * Revision 1.15  2000/03/06 21:51:09  warmerda
    00145  * Added MFF
    00146  *
    00147  * Revision 1.14  2000/01/31 16:24:37  warmerda
    00148  * added aigrid2
    00149  *
    00150  * Revision 1.13  1999/12/29 20:42:45  warmerda
    00151  * Added DOQ1
    00152  *
    00153  * Revision 1.12  1999/10/21 13:24:52  warmerda
    00154  * Added documentation.
    00155  *
    00156  * Revision 1.11  1999/08/13 03:25:58  warmerda
    00157  * add paux
    00158  *
    00159  * Revision 1.10  1999/07/23 19:36:41  warmerda
    00160  * added raw/ehdr support
    00161  *
    00162  * Revision 1.9  1999/06/03 14:05:33  warmerda
    00163  * added SDTS support
    00164  *
    00165  * Revision 1.8  1999/05/17 01:51:43  warmerda
    00166  * Removed unused variable.
    00167  *
    00168  * Revision 1.7  1999/05/13 15:28:19  warmerda
    00169  * Added elas format.
    00170  *
    00171  * Revision 1.6  1999/05/05 17:32:53  warmerda
    00172  * added ceos
    00173  *
    00174  * Revision 1.5  1999/02/04 22:14:46  warmerda
    00175  * added aigrid format
    00176  *
    00177  * Revision 1.4  1999/01/27 18:33:45  warmerda
    00178  * Use FMRT_ macros to test if format avail
    00179  *
    00180  * Revision 1.3  1999/01/11 15:30:16  warmerda
    00181  * added OGDI
    00182  *
    00183  * Revision 1.2  1998/12/03 18:37:26  warmerda
    00184  * Drop GDB, add geotiff.
    00185  *
    00186  * Revision 1.1  1998/11/29 22:22:14  warmerda
    00187  * New
    00188  *
    00189  */
    00190
    00191 #include "gdal_priv.h"
    00192 #include "gdal_frmts.h"
    00193
    00194 CPL_CVSID("$Id: gdalallregister_cpp-source.html,v 1.13 2002/12/21 19:13:12 warmerda Exp $");
    00195
    00196 #ifdef notdef
    00197 // we may have a use for this some day
    00198 static char *szConfiguredFormats = "GDAL_FORMATS";
    00199 #endif
    00200
    00201 /************************************************************************/
    00202 /*                          GDALAllRegister()                           */
    00203 /*                                                                      */
    00204 /*      Register all identifiably supported formats.                    */
    00205 /************************************************************************/
    00206
    00229 void GDALAllRegister()
    00230
    00231 {
    00232     GetGDALDriverManager()->AutoLoadDrivers();
    00233
    00234 #ifdef FRMT_vrt
    00235     GDALRegister_VRT();
    00236 #endif
    00237
    00238 #ifdef FRMT_gdb
    00239     GDALRegister_GDB();
    00240 #endif
    00241
    00242 #ifdef FRMT_gtiff
    00243     GDALRegister_GTiff();
    00244 #endif
    00245
    00246 #ifdef FRMT_nitf
    00247     GDALRegister_NITF();
    00248 #endif
    00249
    00250 #ifdef FRMT_hfa
    00251     GDALRegister_HFA();
    00252 #endif
    00253
    00254 #ifdef FRMT_ceos2
    00255     GDALRegister_SAR_CEOS();
    00256 #endif
    00257
    00258 #ifdef FRMT_ceos
    00259     GDALRegister_CEOS();
    00260 #endif
    00261
    00262 #ifdef FRMT_elas
    00263     GDALRegister_ELAS();
    00264 #endif
    00265
    00266 #ifdef FRMT_aigrid
    00267     GDALRegister_AIGrid2();
    00268     GDALRegister_AIGrid();
    00269 #endif
    00270
    00271 #ifdef FRMT_aaigrid
    00272     GDALRegister_AAIGrid();
    00273 #endif
    00274
    00275 #ifdef FRMT_sdts
    00276     GDALRegister_SDTS();
    00277 #endif
    00278
    00279 #ifdef FRMT_ogdi
    00280     GDALRegister_OGDI();
    00281 #endif
    00282
    00283 #ifdef FRMT_dted
    00284     GDALRegister_DTED();
    00285 #endif
    00286
    00287 #ifdef FRMT_png
    00288     GDALRegister_PNG();
    00289 #endif
    00290
    00291 #ifdef FRMT_jpeg
    00292     GDALRegister_JPEG();
    00293 #endif
    00294
    00295 #ifdef FRMT_mem
    00296     GDALRegister_MEM();
    00297 #endif
    00298
    00299 #ifdef FRMT_jdem
    00300     GDALRegister_JDEM();
    00301 #endif
    00302
    00303 #ifdef FRMT_gif
    00304     GDALRegister_GIF();
    00305 #endif
    00306
    00307 #ifdef FRMT_envisat
    00308     GDALRegister_Envisat();
    00309 #endif
    00310
    00311 #ifdef FRMT_fits
    00312     GDALRegister_FITS();
    00313 #endif
    00314
    00315 #ifdef FRMT_bsb
    00316     GDALRegister_BSB();
    00317 #endif
    00318
    00319 #ifdef FRMT_xpm
    00320     GDALRegister_XPM();
    00321 #endif
    00322
    00323 #ifdef FRMT_bmp
    00324     GDALRegister_BMP();
    00325 #endif
    00326
    00327 #ifdef FRMT_ecw
    00328     GDALRegister_ECW();
    00329 #endif
    00330
    00331 #ifdef FRMT_jp2kak
    00332 // JPEG2000 support using Kakadu toolkit
    00333     GDALRegister_JP2KAK();
    00334 #endif
    00335
    00336 #ifdef FRMT_jpeg2000
    00337 // JPEG2000 support using JasPer toolkit
    00338     GDALRegister_JPEG2000();
    00339 #endif
    00340
    00341 #ifdef FRMT_hdf4
    00342     GDALRegister_HDF4();
    00343     GDALRegister_HDF4Image();
    00344 #endif
    00345
    00346 #ifdef FRMT_l1b
    00347     GDALRegister_L1B();
    00348 #endif
    00349
    00350 #ifdef FRMT_raw
    00351     GDALRegister_PNM();
    00352     GDALRegister_DOQ1();
    00353     GDALRegister_DOQ2();
    00354     GDALRegister_ENVI();
    00355     GDALRegister_EHdr();
    00356     GDALRegister_PAux();
    00357     GDALRegister_MFF();
    00358     GDALRegister_HKV();
    00359     GDALRegister_EFF();
    00360     GDALRegister_FujiBAS();
    00361     GDALRegister_GSC();
    00362     GDALRegister_FAST();
    00363 #endif
    00364
    00365 #ifdef FRMT_fit
    00366     GDALRegister_FIT();
    00367 #endif
    00368
    00369 /* -------------------------------------------------------------------- */
    00370 /*      Our test for the following is weak or expensive so we try       */
    00371 /*      them last.                                                      */
    00372 /* -------------------------------------------------------------------- */
    00373 #ifdef FRMT_usgsdem
    00374     GDALRegister_USGSDEM();
    00375 #endif
    00376
    00377 #ifdef FRMT_gxf
    00378     GDALRegister_GXF();
    00379 #endif
    00380
    00381 #ifdef FRMT_grass
    00382     GDALRegister_GRASS();
    00383 #endif
    00384
    00385 /* -------------------------------------------------------------------- */
    00386 /*      Deregister any drivers explicitly marked as supressed by the    */
    00387 /*      GDAL_SKIP environment variable.                                 */
    00388 /* -------------------------------------------------------------------- */
    00389     GetGDALDriverManager()->AutoSkipDrivers();
    00390 }