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