69 const char *pszDomain =
"")
override;
72 const char *pszDomain =
"")
override;
77 GDALDataset *Create(
const char *pszName,
int nXSize,
int nYSize,
int nBands,
82 CreateMultiDimensional(
const char *pszName,
86 CPLErr Delete(
const char *pszName);
88 CPLErr Rename(
const char *pszNewName,
const char *pszOldName);
89 CPLErr CopyFiles(
const char *pszNewName,
const char *pszOldName);
93 GDALProgressFunc pfnProgress,
96 bool CanVectorTranslateFrom(
const char *pszDestName,
99 char ***ppapszFailureReasons);
107 bool HasOpenOption(
const char *pszOpenOptionName)
const;
115 bool HasLayerCreationOption(
const char *pszOptionName)
const;
118 VectorTranslateFrom(
const char *pszDestName,
GDALDataset *poSourceDS,
120 GDALProgressFunc pfnProgress,
135 OpenCallback pfnOpen =
nullptr;
137 virtual OpenCallback GetOpenCallback()
142 typedef GDALDataset *(*CreateCallback)(
const char *pszName,
int nXSize,
143 int nYSize,
int nBands,
147 CreateCallback pfnCreate =
nullptr;
149 virtual CreateCallback GetCreateCallback()
158 typedef GDALDataset *(*CreateMultiDimensionalCallback)(
159 const char *pszName,
CSLConstList papszRootGroupOptions,
162 CreateMultiDimensionalCallback pfnCreateMultiDimensional =
nullptr;
164 virtual CreateMultiDimensionalCallback GetCreateMultiDimensionalCallback()
166 return pfnCreateMultiDimensional;
169 typedef CPLErr (*DeleteCallback)(
const char *pszName);
170 DeleteCallback pfnDelete =
nullptr;
172 virtual DeleteCallback GetDeleteCallback()
179 GDALProgressFunc pfnProgress,
180 void *pProgressData);
182 CreateCopyCallback pfnCreateCopy =
nullptr;
184 virtual CreateCopyCallback GetCreateCopyCallback()
186 return pfnCreateCopy;
189 void *pDriverData =
nullptr;
191 void (*pfnUnloadDriver)(
GDALDriver *) =
nullptr;
204 typedef CPLErr (*RenameCallback)(
const char *pszNewName,
205 const char *pszOldName);
206 RenameCallback pfnRename =
nullptr;
208 virtual RenameCallback GetRenameCallback()
213 typedef CPLErr (*CopyFilesCallback)(
const char *pszNewName,
214 const char *pszOldName);
215 CopyFilesCallback pfnCopyFiles =
nullptr;
217 virtual CopyFilesCallback GetCopyFilesCallback()
235 bool (*pfnCanVectorTranslateFrom)(
238 char ***ppapszFailureReasons) =
nullptr;
247 GDALProgressFunc pfnProgress,
void *pProgressData) =
nullptr;
257 const std::vector<std::string> &aosPath);
258 InstantiateAlgorithmCallback pfnInstantiateAlgorithm =
nullptr;
260 virtual InstantiateAlgorithmCallback GetInstantiateAlgorithmCallback()
262 return pfnInstantiateAlgorithm;
269 InstantiateAlgorithm(
const std::vector<std::string> &aosPath);
274 void DeclareAlgorithm(
const std::vector<std::string> &aosPath);
279 void (*pfnClearCaches)(
GDALDriver *) =
nullptr;
289 GDALProgressFunc pfnProgress,
292 static CPLErr DefaultCreateCopyMultiDimensional(
295 void *pProgressData);
301 GDALProgressFunc pfnProgress,
302 void *pProgressData);
304 CPLErr QuietDeleteForCreateCopy(
const char *pszFilename,
308 static CPLErr QuietDelete(
const char *pszName,
312 static CPLErr DefaultRename(
const char *pszNewName,
const char *pszOldName);
313 static CPLErr DefaultCopyFiles(
const char *pszNewName,
314 const char *pszOldName);
static GDALDriver * FromHandle(GDALDriverH hDriver)
Convert a GDALDriverH to a GDALDriver*.
Definition gdal_driver.h:330
static GDALDriverH ToHandle(GDALDriver *poDriver)
Convert a GDALDriver* to a GDALDriverH.
Definition gdal_driver.h:323
virtual CPLErr SetMetadataItem(const char *pszName, const char *pszValue, const char *pszDomain="")
Set single metadata item.
Definition gdalmajorobject.cpp:366
virtual const char * GetMetadataItem(const char *pszName, const char *pszDomain="")
Fetch single metadata item.
Definition gdalmajorobject.cpp:322
#define CPL_DISALLOW_COPY_ASSIGN(ClassName)
Helper to remove the copy and assignment constructors so that the compiler will not generate the defa...
Definition cpl_port.h:1101
#define CPL_WARN_UNUSED_RESULT
Qualifier to warn when the return value of a function is not used.
Definition cpl_port.h:1035