1 /******************************************************************************
2  *
3  * Project:  OpenGIS Simple Features Reference Implementation
4  * Purpose:  Function to register all known OGR drivers.
5  * Author:   Frank Warmerdam, warmerdam@pobox.com
6  *
7  ******************************************************************************
8  * Copyright (c) 1999,  Les Technologies SoftMap Inc.
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 "ogrsf_frmts.h"
31 
32 CPL_CVSID("$Id: ogrregisterall.cpp decf0d0bdf8ba9b4efa471cd15c968080e656298 2021-02-27 22:56:48 +0100 Even Rouault $")
33 
34 /************************************************************************/
35 /*                           OGRRegisterAll()                           */
36 /************************************************************************/
37 
OGRRegisterAll()38 void OGRRegisterAll()
39 {
40     GDALAllRegister();
41 }
42 
OGRRegisterAllInternal()43 void OGRRegisterAllInternal()
44 {
45 #ifdef DB2_ENABLED
46     RegisterOGRDB2();
47 #endif
48 #ifdef SHAPE_ENABLED
49     RegisterOGRShape();
50 #endif
51 #ifdef MITAB_ENABLED
52     RegisterOGRTAB();
53 #endif
54 #ifdef NTF_ENABLED
55     RegisterOGRNTF();
56 #endif
57 #ifdef LVBAG_ENABLED
58     RegisterOGRLVBAG();
59 #endif
60 #ifdef SDTS_ENABLED
61     RegisterOGRSDTS();
62 #endif
63 #ifdef S57_ENABLED
64     RegisterOGRS57();
65 #endif
66 #ifdef DGN_ENABLED
67     RegisterOGRDGN();
68 #endif
69 #ifdef VRT_ENABLED
70     RegisterOGRVRT();
71 #endif
72 #ifdef REC_ENABLED
73     RegisterOGRREC();
74 #endif
75 #ifdef MEM_ENABLED
76     RegisterOGRMEM();
77 #endif
78 #ifdef CSV_ENABLED
79     RegisterOGRCSV();
80 #endif
81 #ifdef NAS_ENABLED
82     RegisterOGRNAS();
83 #endif
84 #ifdef GML_ENABLED
85     RegisterOGRGML();
86 #endif
87 #ifdef GPX_ENABLED
88     RegisterOGRGPX();
89 #endif
90 #ifdef LIBKML_ENABLED
91     RegisterOGRLIBKML();
92 #endif
93 #ifdef KML_ENABLED
94     RegisterOGRKML();
95 #endif
96 #ifdef GEOJSON_ENABLED
97     RegisterOGRGeoJSON();
98     RegisterOGRGeoJSONSeq();
99     RegisterOGRESRIJSON();
100     RegisterOGRTopoJSON();
101 #endif
102 #ifdef ILI_ENABLED
103     RegisterOGRILI1();
104     RegisterOGRILI2();
105 #endif
106 #ifdef GMT_ENABLED
107     RegisterOGRGMT();
108 #endif
109 #ifdef GPKG_ENABLED
110     RegisterOGRGeoPackage();
111 #endif
112 #ifdef SQLITE_ENABLED
113     RegisterOGRSQLite();
114 #endif
115 #ifdef DODS_ENABLED
116     RegisterOGRDODS();
117 #endif
118 #ifdef ODBC_ENABLED
119     RegisterOGRODBC();
120 #endif
121 #ifdef WASP_ENABLED
122     RegisterOGRWAsP();
123 #endif
124 
125 /* Register before PGeo and Geomedia drivers */
126 /* that don't work well on Linux */
127 #ifdef MDB_ENABLED
128     RegisterOGRMDB();
129 #endif
130 
131 #ifdef PGEO_ENABLED
132     RegisterOGRPGeo();
133 #endif
134 #ifdef MSSQLSPATIAL_ENABLED
135     RegisterOGRMSSQLSpatial();
136 #endif
137 #ifdef OGDI_ENABLED
138     RegisterOGROGDI();
139 #endif
140 #ifdef PG_ENABLED
141     RegisterOGRPG();
142 #endif
143 #ifdef MYSQL_ENABLED
144     RegisterOGRMySQL();
145 #endif
146 #ifdef OCI_ENABLED
147     RegisterOGROCI();
148 #endif
149 #ifdef INGRES_ENABLED
150     RegisterOGRIngres();
151 #endif
152 /* Register OpenFileGDB before FGDB as it is more capable for read-only */
153 #ifdef OPENFILEGDB_ENABLED
154     RegisterOGROpenFileGDB();
155 #endif
156 #ifdef FGDB_ENABLED
157     RegisterOGRFileGDB();
158 #endif
159 #ifdef DWG_ENABLED
160     RegisterOGRDWG();
161 #endif
162 #ifdef DGNV8_ENABLED
163     RegisterOGRDGNV8();
164 #endif
165 #ifdef DXF_ENABLED
166     RegisterOGRDXF();
167 #endif
168 #ifdef CAD_ENABLED
169     RegisterOGRCAD();
170 #endif
171 #ifdef GRASS_ENABLED
172     RegisterOGRGRASS();
173 #endif
174 #ifdef FLATGEOBUF_ENABLED
175     RegisterOGRFlatGeobuf();
176 #endif
177 #ifdef FME_ENABLED
178     RegisterOGRFME();
179 #endif
180 #ifdef IDB_ENABLED
181     RegisterOGRIDB();
182 #endif
183 #ifdef GEOCONCEPT_ENABLED
184     RegisterOGRGeoconcept();
185 #endif
186 #ifdef GEORSS_ENABLED
187     RegisterOGRGeoRSS();
188 #endif
189 #ifdef GTM_ENABLED
190     RegisterOGRGTM();
191 #endif
192 #ifdef VFK_ENABLED
193     RegisterOGRVFK();
194 #endif
195 #ifdef PGDUMP_ENABLED
196     RegisterOGRPGDump();
197 #endif
198 #ifdef OSM_ENABLED
199     /* Register before GPSBabel, that could recognize .osm file too */
200     RegisterOGROSM();
201 #endif
202 #ifdef GPSBABEL_ENABLED
203     RegisterOGRGPSBabel();
204 #endif
205 #ifdef PDS_ENABLED
206     RegisterOGRPDS();
207 #endif
208 #ifdef WFS_ENABLED
209     RegisterOGRWFS();
210     RegisterOGROAPIF();
211 #endif
212 #ifdef SOSI_ENABLED
213     RegisterOGRSOSI();
214 #endif
215 #ifdef GEOMEDIA_ENABLED
216     RegisterOGRGeomedia();
217 #endif
218 #ifdef EDIGEO_ENABLED
219     RegisterOGREDIGEO();
220 #endif
221 #ifdef SVG_ENABLED
222     RegisterOGRSVG();
223 #endif
224 #ifdef COUCHDB_ENABLED
225     RegisterOGRCouchDB();
226 #endif
227 #ifdef CLOUDANT_ENABLED
228     RegisterOGRCloudant();
229 #endif
230 #ifdef IDRISI_ENABLED
231     RegisterOGRIdrisi();
232 #endif
233 #ifdef ARCGEN_ENABLED
234     RegisterOGRARCGEN();
235 #endif
236 #ifdef XLS_ENABLED
237     RegisterOGRXLS();
238 #endif
239 #ifdef ODS_ENABLED
240     RegisterOGRODS();
241 #endif
242 #ifdef XLSX_ENABLED
243     RegisterOGRXLSX();
244 #endif
245 #ifdef ELASTIC_ENABLED
246     RegisterOGRElastic();
247 #endif
248 #ifdef WALK_ENABLED
249     RegisterOGRWalk();
250 #endif
251 #ifdef CARTO_ENABLED
252     RegisterOGRCarto();
253 #endif
254 #ifdef AMIGOCLOUD_ENABLED
255     RegisterOGRAmigoCloud();
256 #endif
257 #ifdef SXF_ENABLED
258     RegisterOGRSXF();
259 #endif
260 #ifdef SELAFIN_ENABLED
261     RegisterOGRSelafin();
262 #endif
263 #ifdef JML_ENABLED
264     RegisterOGRJML();
265 #endif
266 #ifdef PLSCENES_ENABLED
267     RegisterOGRPLSCENES();
268 #endif
269 #ifdef CSW_ENABLED
270     RegisterOGRCSW();
271 #endif
272 #ifdef MONGODBV3_ENABLED
273     RegisterOGRMongoDBv3();
274 #endif
275 #ifdef MONGODB_ENABLED
276     RegisterOGRMongoDB();
277 #endif
278 #ifdef VDV_ENABLED
279     RegisterOGRVDV();
280 #endif
281 #ifdef GMLAS_ENABLED
282     RegisterOGRGMLAS();
283 #endif
284 #ifdef MVT_ENABLED
285     RegisterOGRMVT();
286 #endif
287 #ifdef NGW_ENABLED
288     RegisterOGRNGW();
289 #endif // NGW_ENABLED
290 #ifdef MAPML_ENABLED
291     RegisterOGRMapML();
292 #endif
293 
294 /* Put TIGER and AVCBIN at end since they need poOpenInfo->GetSiblingFiles() */
295 #ifdef TIGER_ENABLED
296     RegisterOGRTiger();
297 #endif
298 #ifdef AVC_ENABLED
299     RegisterOGRAVCBin();
300     RegisterOGRAVCE00();
301 #endif
302 
303 
304 } /* OGRRegisterAll */
305