28 #ifndef CPL_GOOGLE_CLOUD_INCLUDED_H
29 #define CPL_GOOGLE_CLOUD_INCLUDED_H
39 #include <curl/curl.h>
44 class VSIGSHandleHelper final:
public IVSIS3LikeHandleHelper
53 bool m_bUseHeaderFile;
62 static bool GetConfigurationFromConfigFile(
70 void RebuildURL()
override;
73 VSIGSHandleHelper(
const CPLString& osEndpoint,
81 static VSIGSHandleHelper* BuildFromURI(
const char* pszURI,
82 const char* pszFSPrefix,
85 struct curl_slist* GetCurlHeaders(
87 const struct curl_slist* psExistingHeaders,
88 const void *pabyDataContent =
nullptr,
89 size_t nBytesContent = 0)
const override;
91 const CPLString& GetURL()
const override {
return m_osURL; }
93 CPLString GetCopySourceHeader()
const override {
return "x-goog-copy-source"; }
97 static void CleanMutex();
98 static void ClearCache();
Manager of Google OAuth2 authentication.
Definition: cpl_http.h:164
Convenient string class based on std::string.
Definition: cpl_string.h:333
Interface for downloading HTTP, FTP documents.
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition: cpl_port.h:1212
Various convenience functions for working with strings and string lists.
#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:1003