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;
110 VectorTranslateFrom(
const char *pszDestName,
GDALDataset *poSourceDS,
112 GDALProgressFunc pfnProgress,
127 OpenCallback pfnOpen =
nullptr;
129 virtual OpenCallback GetOpenCallback()
134 typedef GDALDataset *(*CreateCallback)(
const char *pszName,
int nXSize,
135 int nYSize,
int nBands,
137 char **papszOptions);
139 CreateCallback pfnCreate =
nullptr;
141 virtual CreateCallback GetCreateCallback()
148 char **papszOptions) =
nullptr;
150 typedef GDALDataset *(*CreateMultiDimensionalCallback)(
151 const char *pszName,
CSLConstList papszRootGroupOptions,
154 CreateMultiDimensionalCallback pfnCreateMultiDimensional =
nullptr;
156 virtual CreateMultiDimensionalCallback GetCreateMultiDimensionalCallback()
158 return pfnCreateMultiDimensional;
161 typedef CPLErr (*DeleteCallback)(
const char *pszName);
162 DeleteCallback pfnDelete =
nullptr;
164 virtual DeleteCallback GetDeleteCallback()
171 GDALProgressFunc pfnProgress,
172 void *pProgressData);
174 CreateCopyCallback pfnCreateCopy =
nullptr;
176 virtual CreateCopyCallback GetCreateCopyCallback()
178 return pfnCreateCopy;
181 void *pDriverData =
nullptr;
183 void (*pfnUnloadDriver)(
GDALDriver *) =
nullptr;
196 typedef CPLErr (*RenameCallback)(
const char *pszNewName,
197 const char *pszOldName);
198 RenameCallback pfnRename =
nullptr;
200 virtual RenameCallback GetRenameCallback()
205 typedef CPLErr (*CopyFilesCallback)(
const char *pszNewName,
206 const char *pszOldName);
207 CopyFilesCallback pfnCopyFiles =
nullptr;
209 virtual CopyFilesCallback GetCopyFilesCallback()
220 char **papszOptions) =
nullptr;
227 bool (*pfnCanVectorTranslateFrom)(
230 char ***ppapszFailureReasons) =
nullptr;
239 GDALProgressFunc pfnProgress,
void *pProgressData) =
nullptr;
249 const std::vector<std::string> &aosPath);
250 InstantiateAlgorithmCallback pfnInstantiateAlgorithm =
nullptr;
252 virtual InstantiateAlgorithmCallback GetInstantiateAlgorithmCallback()
254 return pfnInstantiateAlgorithm;
261 InstantiateAlgorithm(
const std::vector<std::string> &aosPath);
266 void DeclareAlgorithm(
const std::vector<std::string> &aosPath);
276 GDALProgressFunc pfnProgress,
279 static CPLErr DefaultCreateCopyMultiDimensional(
282 void *pProgressData);
288 GDALProgressFunc pfnProgress,
289 void *pProgressData);
291 CPLErr QuietDeleteForCreateCopy(
const char *pszFilename,
295 static CPLErr QuietDelete(
const char *pszName,
299 static CPLErr DefaultRename(
const char *pszNewName,
const char *pszOldName);
300 static CPLErr DefaultCopyFiles(
const char *pszNewName,
301 const char *pszOldName);
static GDALDriver * FromHandle(GDALDriverH hDriver)
Convert a GDALDriverH to a GDALDriver*.
Definition gdal_driver.h:317
static GDALDriverH ToHandle(GDALDriver *poDriver)
Convert a GDALDriver* to a GDALDriverH.
Definition gdal_driver.h:310
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:936
#define CPL_WARN_UNUSED_RESULT
Qualifier to warn when the return value of a function is not used.
Definition cpl_port.h:870