#include <ogrsf_frmts.h>
Public Member Functions | |
void | RegisterDriver (OGRSFDriver *poDriver) |
int | GetDriverCount (void) |
OGRSFDriver * | GetDriver (int iDriver) |
void | AutoLoadDrivers () |
Static Public Member Functions | |
static OGRSFDriverRegistrar * | GetRegistrar () |
static OGRDataSource * | Open (const char *pszName, int bUpdate=FALSE, OGRSFDriver **ppoDriver=NULL) |
|
Auto-load GDAL drivers from shared libraries. This function will automatically load drivers from shared libraries. It searches the "driver path" for .so (or .dll) files that start with the prefix "gdal_X.so". It then tries to load them and then tries to call a function within them called GDALRegister_X() where the 'X' is the same as the remainder of the shared library basename, or failing that to call GDALRegisterMe(). There are a few rules for the driver path. If the GDAL_DRIVER_PATH environment variable it set, it is taken to be a list of directories to search separated by colons on unix, or semi-colons on Windows. Otherwise the /usr/local/lib/gdalplugins directory, and (if known) the lib/gdalplugins subdirectory of the gdal home directory are searched. |
|
Fetch the indicated driver. This method is the same as the C function OGRGetDriver().
|
|
Fetch the number of registered drivers. This method is the same as the C function OGRGetDriverCount().
|
|
Return the driver manager, creating one if none exist.
|
|
Open a file / data source with one of the registered drivers. This method loops through all the drivers registered with the driver manager trying each until one succeeds with the given data source. This method is static. Applications don't normally need to use any other OGRSFDriverRegistrar methods directly, not do they normally need to have a pointer to an OGRSFDriverRegistrar instance. If this method fails, CPLGetLastErrorMsg() can be used to check if there is an error message explaining why. This method is the same as the C function OGROpen().
OGRDataSource *poDS;
poDS = OGRSFDriverRegistrar::Open( "polygon.shp" ); if( poDS == NULL ) { return; }
... use the data source ...
delete poDS; |
|
Add a driver to the list of registered drivers. If the passed driver is already registered (based on pointer comparison) then the driver isn't registered. New drivers are added at the end of the list of registered drivers. This method is the same as the C function OGRRegisterDriver().
|