OGR
port
cpl_google_cloud.h
1
/**********************************************************************
2
* Project: CPL - Common Portability Library
3
* Purpose: Google Cloud Storage routines
4
* Author: Even Rouault <even.rouault at spatialys.com>
5
*
6
**********************************************************************
7
* Copyright (c) 2017, Even Rouault <even.rouault at spatialys.com>
8
*
9
* Permission is hereby granted, free of charge, to any person obtaining a
10
* copy of this software and associated documentation files (the "Software"),
11
* to deal in the Software without restriction, including without limitation
12
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
13
* and/or sell copies of the Software, and to permit persons to whom the
14
* Software is furnished to do so, subject to the following conditions:
15
*
16
* The above copyright notice and this permission notice shall be included
17
* in all copies or substantial portions of the Software.
18
*
19
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
20
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
22
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25
* DEALINGS IN THE SOFTWARE.
26
****************************************************************************/
27
28
#ifndef CPL_GOOGLE_CLOUD_INCLUDED_H
29
#define CPL_GOOGLE_CLOUD_INCLUDED_H
30
31
#ifndef DOXYGEN_SKIP
32
33
#include <cstddef>
34
35
#include "
cpl_string.h
"
36
37
#ifdef HAVE_CURL
38
39
#include <curl/curl.h>
40
41
class
VSIGSHandleHelper
42
{
43
CPLString
m_osURL;
44
CPLString
m_osEndpoint;
45
CPLString
m_osBucketObjectKey;
46
CPLString
m_osSecretAccessKey;
47
CPLString
m_osAccessKeyId;
48
bool
m_bUseHeaderFile;
49
50
public
:
51
VSIGSHandleHelper(
const
CPLString
& osEndpoint,
52
const
CPLString
& osBucketObjectKey,
53
const
CPLString
& osSecretAccessKey,
54
const
CPLString
& osAccessKeyId,
55
bool
bUseHeaderFile);
56
~VSIGSHandleHelper();
57
58
static
VSIGSHandleHelper* BuildFromURI(
const
char
* pszURI,
59
const
char
* pszFSPrefix);
60
61
struct
curl_slist* GetCurlHeaders(
const
CPLString
& osVerb)
const
;
62
63
const
CPLString
& GetURL()
const
{
return
m_osURL; }
64
};
65
66
#endif
/* HAVE_CURL */
67
68
#endif
/* #ifndef DOXYGEN_SKIP */
69
70
#endif
/* CPL_GOOGLE_CLOUD_INCLUDED_H */
CPLString
Convenient string class based on std::string.
Definition:
cpl_string.h:338
cpl_string.h
Generated for GDAL by
1.8.14.