14#ifndef GDALPLUGINDRIVERPROXY_H_INCLUDED
15#define GDALPLUGINDRIVERPROXY_H_INCLUDED
18#include "gdal_driver.h"
68 const std::string m_osPluginFileName;
69 std::string m_osPluginFullPath{};
70 std::unique_ptr<GDALDriver> m_poRealDriver{};
71 std::set<std::string> m_oSetMetadataItems{};
73 GDALDriver *GetRealDriver();
78 friend class GDALDriverManager;
81 void SetPluginFullPath(
const std::string &osFullPath)
83 m_osPluginFullPath = osFullPath;
94 return m_osPluginFileName;
98 OpenCallback GetOpenCallback()
override;
100 CreateCallback GetCreateCallback()
override;
102 CreateMultiDimensionalCallback GetCreateMultiDimensionalCallback()
override;
104 CreateCopyCallback GetCreateCopyCallback()
override;
106 DeleteCallback GetDeleteCallback()
override;
108 RenameCallback GetRenameCallback()
override;
110 CopyFilesCallback GetCopyFilesCallback()
override;
112 InstantiateAlgorithmCallback GetInstantiateAlgorithmCallback()
override;
116 const char *pszDomain =
"")
override;
118 char **
GetMetadata(
const char *pszDomain)
override;
121 const char *pszDomain =
"")
override;
const char * GetMetadataItem(const char *pszName, const char *pszDomain="") override
Fetch single metadata item.
Definition gdaldrivermanager.cpp:1372
char ** GetMetadata(const char *pszDomain) override
Fetch metadata.
Definition gdaldrivermanager.cpp:1328
GDALPluginDriverProxy(const std::string &osPluginFileName)
Constructor for a plugin driver proxy.
Definition gdaldrivermanager.cpp:1299
const std::string & GetPluginFileName() const
Return the plugin file name (not a full path).
Definition gdalplugindriverproxy.h:92
CPLErr SetMetadataItem(const char *pszName, const char *pszValue, const char *pszDomain="") override
Set single metadata item.
Definition gdaldrivermanager.cpp:1336
CPLErr
Error category.
Definition cpl_error.h:37
Core portability definitions for CPL.
#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