GDAL

- Main Page
- Related Pages
- Classes
- Files
- Download
- Issue Tracker

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions | List of all members
GDALDriverManager Class Reference

Class for managing the registration of file format drivers. More...

`#include <gdal_priv.h>`

Inheritance diagram for GDALDriverManager:

## Public Member Functions
int | GetDriverCount (void) const
| Fetch the number of registered drivers. More...
GDALDriver * | GetDriver (int)
| Fetch driver by index. More...
GDALDriver * | GetDriverByName (const char *)
| Fetch a driver based on the short name. More...
int | RegisterDriver (GDALDriver *)
| Register a driver for use. More...
void | DeregisterDriver (GDALDriver *)
| Deregister the passed driver. More...
void | AutoSkipDrivers ()
| This method unload undesirable drivers. More...
Public Member Functions inherited from GDALMajorObject
int | GetMOFlags () const
| Returns the GMO_ flags. More...
void | SetMOFlags (int nFlagsIn)
| Assign GMO_flags. More...
virtual const char * | GetDescription () const
| Fetch object description. More...
virtual void | SetDescription (const char *)
| Set object description. More...
virtual char ** | GetMetadataDomainList ()
| Fetch list of metadata domains. More...
virtual char ** | GetMetadata (const char *pszDomain="")
| Fetch metadata. More...
virtual CPLErr | SetMetadata (char **papszMetadata, const char *pszDomain="")
| Set metadata. More...
virtual const char * | GetMetadataItem (const char *pszName, const char *pszDomain="")
| Fetch single metadata item. More...
virtual CPLErr | SetMetadataItem (const char *pszName, const char *pszValue, const char *pszDomain="")
| Set single metadata item. More...

## Static Public Member Functions
static void | AutoLoadDrivers ()
| Auto-load GDAL drivers from shared libraries. More...
static void | AutoLoadPythonDrivers ()
| Auto-load GDAL drivers from Python scripts. More...
Static Public Member Functions inherited from GDALMajorObject
static GDALMajorObjectH | ToHandle (GDALMajorObject *poMajorObject)
| Convert a GDALMajorObject* to a GDALMajorObjectH. More...
static GDALMajorObject * | FromHandle (GDALMajorObjectH hMajorObject)
| Convert a GDALMajorObjectH to a GDALMajorObject*. More...

## Additional Inherited Members
Protected Member Functions inherited from GDALMajorObject
char ** | BuildMetadataDomainList (char **papszList, int bCheckNonEmpty,...) CPL_NULL_TERMINATED
| Helper function for custom implementations of GetMetadataDomainList() More...

## Detailed Description

Class for managing the registration of file format drivers.

Use GetGDALDriverManager() to fetch the global singleton instance of this class.

## Member Function Documentation

void GDALDriverManager::AutoLoadDrivers | ( |  | ) |
| static

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 ('X' is case sensitive), 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 on UNIX and \gdalplugins on Windows.

Auto loading can be completely disabled by setting the GDAL_DRIVER_PATH config option to "disable".

void GDALDriverManager::AutoLoadPythonDrivers | ( |  | ) |
| static

Auto-load GDAL drivers from Python scripts.

This function will automatically load drivers from Python scripts. It searches them first from the directory pointed by the GDAL_PYTHON_DRIVER_PATH configuration option. If not defined, it will use GDAL_DRIVER_PATH. If not defined, it will use the path for drivers hardcoded at build time. Scripts must begin with gdal_ or ogr_ and end up with .py

Since
  GDAL 3.1

void GDALDriverManager::AutoSkipDrivers | ( |  | ) |

This method unload undesirable drivers.

All drivers specified in the comma delimited list in the GDAL_SKIP environment variable) will be deregistered and destroyed. This method should normally be called after registration of standard drivers to allow the user a way of unloading undesired drivers. The GDALAllRegister() function already invokes AutoSkipDrivers() at the end, so if that functions is called, it should not be necessary to call this method from application code.

Note: space separator is also accepted for backward compatibility, but some vector formats have spaces in their names, so it is encouraged to use comma to avoid issues.

void GDALDriverManager::DeregisterDriver | ( | GDALDriver * | poDriver | ) |

Deregister the passed driver.

If the driver isn't found no change is made.

The C analog is GDALDeregisterDriver().

Parameters

  poDriver | the driver to deregister.

GDALDriver * GDALDriverManager::GetDriver | ( | int | iDriver | ) |

Fetch driver by index.

This C analog to this is GDALGetDriver().

Parameters

  iDriver | the driver index from 0 to GetDriverCount()-1.

Returns
  the driver identified by the index or NULL if the index is invalid

GDALDriver * GDALDriverManager::GetDriverByName | ( | const char * | pszName | ) |

Fetch a driver based on the short name.

The C analog is the GDALGetDriverByName() function.

Parameters

  pszName | the short name, such as GTiff, being searched for.

Returns
  the identified driver, or NULL if no match is found.

int GDALDriverManager::GetDriverCount | ( | void |  | ) | const

Fetch the number of registered drivers.

This C analog to this is GDALGetDriverCount().

Returns
  the number of registered drivers.

int GDALDriverManager::RegisterDriver | ( | GDALDriver * | poDriver | ) |

Register a driver for use.

The C analog is GDALRegisterDriver().

Normally this method is used by format specific C callable registration entry points such as GDALRegister_GTiff() rather than being called directly by application level code.

If this driver (based on the object pointer, not short name) is already registered, then no change is made, and the index of the existing driver is returned. Otherwise the driver list is extended, and the new driver is added at the end.

Parameters

  poDriver | the driver to register.

Returns
  the index of the new installed driver.

The documentation for this class was generated from the following files:

- gdal_priv.h
- gdaldrivermanager.cpp
- gdalpythondriverloader.cpp