1
0
mirror of https://github.com/minio/minio-cpp.git synced 2025-08-08 00:02:56 +03:00

Add docs (#17)

Signed-off-by: Bala.FA <bala@minio.io>
This commit is contained in:
Bala FA
2022-05-23 23:13:48 +05:30
committed by GitHub
parent 37509dbdd2
commit f6ffd5fb10
328 changed files with 21744 additions and 6785 deletions

View File

@@ -1,76 +0,0 @@
name: MinIO C++ Cmake
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
jobs:
build:
# The CMake configure and build commands are platform agnostic and should work equally
# well on Windows or Mac. You can convert this to a matrix build if you need
# cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Check style
run: |
wget --quiet -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
echo 'deb http://apt.llvm.org/focal/ llvm-toolchain-focal-14 main' | sudo tee -a /etc/apt/sources.list
sudo apt-get -qy update
sudo apt-get -qy install clang-format-14
clang-format --version
./check-style.sh
- name: Install vcpkg
run: |
wget --quiet -O vcpkg-master.zip https://github.com/microsoft/vcpkg/archive/refs/heads/master.zip
unzip -qq vcpkg-master.zip
./vcpkg-master/bootstrap-vcpkg.sh
./vcpkg-master/vcpkg integrate install
- name: Run debug build
run: |
cmake -B ./build -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=./vcpkg-master/scripts/buildsystems/vcpkg.cmake
cmake --build ./build --config Debug
- name: Start MinIO server
run: |
wget --quiet https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
mkdir -p ~/.minio/certs
cp ./tests/public.crt ./tests/private.key ~/.minio/certs/
sudo cp ./tests/public.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates
MINIO_CI_CD=true ./minio server /tmp/test-xl/{1...4}/ &
sleep 10
- name: Run tests on debug build
run: |
S3HOST=localhost:9000 ACCESS_KEY=minioadmin SECRET_KEY=minioadmin ./build/tests/tests
- name: Run release build
run: |
cmake --build ./build --target clean
cmake -B ./build -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=./vcpkg-master/scripts/buildsystems/vcpkg.cmake
cmake --build ./build --config Release
- name: Run tests on release build
run: |
S3HOST=localhost:9000 ACCESS_KEY=minioadmin SECRET_KEY=minioadmin ./build/tests/tests
- name: Test
working-directory: ${{github.workspace}}/build
# Execute tests defined by the CMake configuration.
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: ctest -C ${{env.BUILD_TYPE}}

20
.gitignore vendored
View File

@@ -1,20 +0,0 @@
*.d
*.o
s3tool
*~
libminiocpp.so
*.a
*.so
build/
*.pc
.vs
CMakeSettings.json
vcpkg_installed/
docs/search
docs/*html
docs/*png
docs/*js
docs/*css
docs/*svg
docs/*map
docs/*md5

0
.gitmodules vendored
View File

View File

@@ -1,124 +0,0 @@
# MinIO C++ Library for Amazon S3 Compatible Cloud Storage
# Copyright 2021 MinIO, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
project(miniocpp)
cmake_minimum_required(VERSION 3.10)
macro(set_globals)
set(CMAKE_BUILD_TYPE_INIT Release)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_CXX_FLAGS_COVERAGE "${CMAKE_CXX_FLAGS_DEBUG} --coverage")
set(CMAKE_EXE_LINKER_FLAGS_COVERAGE "${CMAKE_EXE_LINKER_FLAGS_DEBUG} --coverage")
set(CMAKE_SHARED_LINKER_FLAGS_COVERAGE "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} --coverage")
set(CMAKE_MODULE_LINKER_FLAGS_COVERAGE "${CMAKE_MODULE_LINKER_FLAGS_DEBUG} --coverage")
endmacro()
# specify the C++ standard
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED True)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
# prohibit in-source-builds
IF (${CMAKE_BINARY_DIR} STREQUAL ${CMAKE_SOURCE_DIR})
MESSAGE(STATUS "In-source-builds are not allowed")
MESSAGE(STATUS "Clean your source directory (e.g. delete the CMakeCache.txt file)")
MESSAGE(FATAL_ERROR "Please create a separate build directory and call CMake again")
ENDIF (${CMAKE_BINARY_DIR} STREQUAL ${CMAKE_SOURCE_DIR})
# Look for required libraries
SET(requiredlibs)
include("${CMAKE_CURRENT_LIST_DIR}/cmake/modules/FindPugiXML.cmake")
find_package(CURL REQUIRED)
IF(CURL_FOUND)
INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIRS})
SET(requiredlibs ${requiredlibs} CURL::libcurl)
ELSE(CURL_FOUND)
MESSAGE(FATAL_ERROR "Could not find the CURL library and development files.")
ENDIF(CURL_FOUND)
find_package(unofficial-curlpp CONFIG REQUIRED)
SET(requiredlibs ${requiredlibs} unofficial::curlpp::curlpp)
find_package(OpenSSL REQUIRED)
IF(OPENSSL_FOUND)
INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR})
SET(requiredlibs ${requiredlibs} OpenSSL::SSL OpenSSL::Crypto) # bugfix, because libcrypto is not found automatically
ELSE(OPENSSL_FOUND)
MESSAGE(FATAL_ERROR "Could not find the OpenSSL library and development files.")
ENDIF(OPENSSL_FOUND)
find_package(PugiXML REQUIRED)
IF(PUGIXML_FOUND)
INCLUDE_DIRECTORIES(${PUGIXML_INCLUDE_DIR})
SET(requiredlibs ${requiredlibs} pugixml)
ELSE(PUGIXML_FOUND)
MESSAGE(FATAL_ERROR "Could not find the pugixml library and development files.")
ENDIF(PUGIXML_FOUND)
message(STATUS "Found required libs: ${requiredlibs}")
INCLUDE (CheckIncludeFiles)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
SET(MINIOCPP_MAJOR_VERSION "0")
SET(MINIOCPP_MINOR_VERSION "1")
SET(MINIOCPP_PATCH_VERSION "0")
add_subdirectory(include)
add_subdirectory(src)
option(BUILD_EXAMPLES "Build examples" ON)
if (BUILD_EXAMPLES)
add_subdirectory(examples)
endif (BUILD_EXAMPLES)
option(BUILD_TESTS "Build tests" ON)
if (BUILD_TESTS)
add_subdirectory(tests)
endif (BUILD_TESTS)
option(BUILD_DOC "Build documentation" ON)
# check if Doxygen is installed
find_package(Doxygen)
if (DOXYGEN_FOUND)
# set input and output files
set(DOXYGEN_IN ${CMAKE_CURRENT_SOURCE_DIR}/docs/Doxyfile.in)
set(DOXYGEN_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
# request to configure the file
configure_file(${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY)
message("Doxygen build started")
# note the option ALL which allows to build the docs together with the application
add_custom_target(doc_doxygen ALL
COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating API documentation with Doxygen"
VERBATIM )
else (DOXYGEN_FOUND)
message("Doxygen need to be installed to generate the doxygen documentation")
endif (DOXYGEN_FOUND)
configure_file(miniocpp.pc.in miniocpp.pc @ONLY)
install(FILES ${CMAKE_BINARY_DIR}/miniocpp.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)

202
LICENSE
View File

@@ -1,202 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@@ -1,99 +0,0 @@
> NOTE: This project is work in progress.
# MinIO C++ Client SDK for Amazon S3 Compatible Cloud Storage [![Slack](https://slack.min.io/slack?type=svg)](https://slack.min.io) [![Sourcegraph](https://sourcegraph.com/github.com/minio/minio-cpp/-/badge.svg)](https://sourcegraph.com/github.com/minio/minio-cpp?badge) [![Apache V2 License](https://img.shields.io/badge/license-Apache%20V2-blue.svg)](https://github.com/minio/minio-cpp/blob/master/LICENSE)
MinIO C++ SDK is Simple Storage Service (aka S3) client to perform bucket and object operations to any Amazon S3 compatible object storage service.
For a complete list of APIs and examples, please take a look at the [MinIO C++ Client API Reference](https://minio-cpp.min.io/)
## Build requirements
* A working C++ development environment supporting C++17 standards.
* CMake 3.10 or higher.
* [vcpkg](https://vcpkg.io/en/index.html).
## Install from `vcpkg`
```
vcpkg install minio-cpp
```
## Building source
```bash
$ git clone https://github.com/minio/minio-cpp
$ cd minio-cpp
$ wget --quiet -O vcpkg-master.zip https://github.com/microsoft/vcpkg/archive/refs/heads/master.zip
$ unzip -qq vcpkg-master.zip
$ ./vcpkg-master/bootstrap-vcpkg.sh
$ ./vcpkg-master/vcpkg integrate install
$ cmake -B ./build -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=./vcpkg-master/scripts/buildsystems/vcpkg.cmake
$ cmake --build ./build --config Debug
```
## Example:: file-uploader.cc
```c++
#include <client.h>
int main(int argc, char* argv[]) {
// Create S3 base URL.
minio::http::BaseUrl base_url;
base_url.SetHost("play.min.io");
// Create credential provider.
minio::creds::StaticProvider provider(
"Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG");
// Create S3 client.
minio::s3::Client client(base_url, &provider);
std::string bucket_name = "asiatrip";
// Check 'asiatrip' bucket exist or not.
bool exist;
{
minio::s3::BucketExistsArgs args;
args.bucket_ = bucket_name;
minio::s3::BucketExistsResponse resp = client.BucketExists(args);
if (!resp) {
std::cout << "unable to do bucket existence check; " << resp.GetError()
<< std::endl;
return EXIT_FAILURE;
}
exist = resp.exist_;
}
// Make 'asiatrip' bucket if not exist.
if (!exist) {
minio::s3::MakeBucketArgs args;
args.bucket_ = bucket_name;
minio::s3::MakeBucketResponse resp = client.MakeBucket(args);
if (!resp) {
std::cout << "unable to create bucket; " << resp.GetError() << std::endl;
return EXIT_FAILURE;
}
}
// Upload '/home/user/Photos/asiaphotos.zip' as object name
// 'asiaphotos-2015.zip' to bucket 'asiatrip'.
minio::s3::UploadObjectArgs args;
args.bucket_ = bucket_name;
args.object_ = "asiaphotos-2015.zip";
args.filename_ = "/home/user/Photos/asiaphotos.zip";
minio::s3::UploadObjectResponse resp = client.UploadObject(args);
if (!resp) {
std::cout << "unable to upload object; " << resp.GetError() << std::endl;
return EXIT_FAILURE;
}
std::cout << "'/home/user/Photos/asiaphotos.zip' is successfully uploaded as "
<< "object 'asiaphotos-2015.zip' to bucket 'asiatrip'."
<< std::endl;
return EXIT_SUCCESS;
}
```
## License
This SDK is distributed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0), see [LICENSE](https://github.com/minio/minio-cpp/blob/master/LICENSE) for more information.

143
annotated.html Normal file
View File

@@ -0,0 +1,143 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: Class List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Class List</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>minio</b></td><td class="desc"></td></tr>
<tr id="row_0_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>creds</b></td><td class="desc"></td></tr>
<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classminio_1_1creds_1_1Credentials.html" target="_self">Credentials</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classminio_1_1creds_1_1Provider.html" target="_self">Provider</a></td><td class="desc"></td></tr>
<tr id="row_0_0_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classminio_1_1creds_1_1StaticProvider.html" target="_self">StaticProvider</a></td><td class="desc"></td></tr>
<tr id="row_0_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_1_" class="arrow" onclick="toggleFolder('0_1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>error</b></td><td class="desc"></td></tr>
<tr id="row_0_1_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classminio_1_1error_1_1Error.html" target="_self">Error</a></td><td class="desc"></td></tr>
<tr id="row_0_2_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_2_" class="arrow" onclick="toggleFolder('0_2_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>http</b></td><td class="desc"></td></tr>
<tr id="row_0_2_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1http_1_1BaseUrl.html" target="_self">BaseUrl</a></td><td class="desc"></td></tr>
<tr id="row_0_2_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1http_1_1DataCallbackArgs.html" target="_self">DataCallbackArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_2_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1http_1_1Request.html" target="_self">Request</a></td><td class="desc"></td></tr>
<tr id="row_0_2_3_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1http_1_1Response.html" target="_self">Response</a></td><td class="desc"></td></tr>
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_3_" class="arrow" onclick="toggleFolder('0_3_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>s3</b></td><td class="desc"></td></tr>
<tr id="row_0_3_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1BaseArgs.html" target="_self">BaseArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_3_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1BucketArgs.html" target="_self">BucketArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_3_2_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ObjectArgs.html" target="_self">ObjectArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_3_3_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ObjectWriteArgs.html" target="_self">ObjectWriteArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_3_4_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ObjectVersionArgs.html" target="_self">ObjectVersionArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_3_5_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ObjectReadArgs.html" target="_self">ObjectReadArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_3_6_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ObjectConditionalReadArgs.html" target="_self">ObjectConditionalReadArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_3_7_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1MakeBucketArgs.html" target="_self">MakeBucketArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_3_8_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1AbortMultipartUploadArgs.html" target="_self">AbortMultipartUploadArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_3_9_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1CompleteMultipartUploadArgs.html" target="_self">CompleteMultipartUploadArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_3_10_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1CreateMultipartUploadArgs.html" target="_self">CreateMultipartUploadArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_3_11_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1PutObjectBaseArgs.html" target="_self">PutObjectBaseArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_3_12_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1PutObjectApiArgs.html" target="_self">PutObjectApiArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_3_13_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1UploadPartArgs.html" target="_self">UploadPartArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_3_14_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1UploadPartCopyArgs.html" target="_self">UploadPartCopyArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_3_15_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1DownloadObjectArgs.html" target="_self">DownloadObjectArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_3_16_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1GetObjectArgs.html" target="_self">GetObjectArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_3_17_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ListObjectsArgs.html" target="_self">ListObjectsArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_3_18_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ListObjectsCommonArgs.html" target="_self">ListObjectsCommonArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_3_19_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ListObjectsV1Args.html" target="_self">ListObjectsV1Args</a></td><td class="desc"></td></tr>
<tr id="row_0_3_20_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ListObjectsV2Args.html" target="_self">ListObjectsV2Args</a></td><td class="desc"></td></tr>
<tr id="row_0_3_21_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ListObjectVersionsArgs.html" target="_self">ListObjectVersionsArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_3_22_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1PutObjectArgs.html" target="_self">PutObjectArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_3_23_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1CopyObjectArgs.html" target="_self">CopyObjectArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_3_24_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ComposeSource.html" target="_self">ComposeSource</a></td><td class="desc"></td></tr>
<tr id="row_0_3_25_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ComposeObjectArgs.html" target="_self">ComposeObjectArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_3_26_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1UploadObjectArgs.html" target="_self">UploadObjectArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_3_27_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classminio_1_1s3_1_1Client.html" target="_self">Client</a></td><td class="desc"></td></tr>
<tr id="row_0_3_28_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classminio_1_1s3_1_1ListObjectsResult.html" target="_self">ListObjectsResult</a></td><td class="desc"></td></tr>
<tr id="row_0_3_29_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1RequestBuilder.html" target="_self">RequestBuilder</a></td><td class="desc"></td></tr>
<tr id="row_0_3_30_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1Response.html" target="_self">Response</a></td><td class="desc"></td></tr>
<tr id="row_0_3_31_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1GetRegionResponse.html" target="_self">GetRegionResponse</a></td><td class="desc"></td></tr>
<tr id="row_0_3_32_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ListBucketsResponse.html" target="_self">ListBucketsResponse</a></td><td class="desc"></td></tr>
<tr id="row_0_3_33_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1BucketExistsResponse.html" target="_self">BucketExistsResponse</a></td><td class="desc"></td></tr>
<tr id="row_0_3_34_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1CompleteMultipartUploadResponse.html" target="_self">CompleteMultipartUploadResponse</a></td><td class="desc"></td></tr>
<tr id="row_0_3_35_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1CreateMultipartUploadResponse.html" target="_self">CreateMultipartUploadResponse</a></td><td class="desc"></td></tr>
<tr id="row_0_3_36_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1PutObjectResponse.html" target="_self">PutObjectResponse</a></td><td class="desc"></td></tr>
<tr id="row_0_3_37_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1StatObjectResponse.html" target="_self">StatObjectResponse</a></td><td class="desc"></td></tr>
<tr id="row_0_3_38_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1Item.html" target="_self">Item</a></td><td class="desc"></td></tr>
<tr id="row_0_3_39_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ListObjectsResponse.html" target="_self">ListObjectsResponse</a></td><td class="desc"></td></tr>
<tr id="row_0_3_40_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classminio_1_1s3_1_1Sse.html" target="_self">Sse</a></td><td class="desc"></td></tr>
<tr id="row_0_3_41_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classminio_1_1s3_1_1SseCustomerKey.html" target="_self">SseCustomerKey</a></td><td class="desc"></td></tr>
<tr id="row_0_3_42_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classminio_1_1s3_1_1SseKms.html" target="_self">SseKms</a></td><td class="desc"></td></tr>
<tr id="row_0_3_43_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classminio_1_1s3_1_1SseS3.html" target="_self">SseS3</a></td><td class="desc"></td></tr>
<tr id="row_0_3_44_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1Bucket.html" target="_self">Bucket</a></td><td class="desc"></td></tr>
<tr id="row_0_3_45_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1Part.html" target="_self">Part</a></td><td class="desc"></td></tr>
<tr id="row_0_3_46_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1Retention.html" target="_self">Retention</a></td><td class="desc"></td></tr>
<tr id="row_0_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_4_" class="arrow" onclick="toggleFolder('0_4_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>utils</b></td><td class="desc"></td></tr>
<tr id="row_0_4_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classminio_1_1utils_1_1Time.html" target="_self">Time</a></td><td class="desc"></td></tr>
<tr id="row_0_4_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classminio_1_1utils_1_1Multimap.html" target="_self">Multimap</a></td><td class="desc"></td></tr>
<tr id="row_0_4_2_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1utils_1_1Url.html" target="_self">Url</a></td><td class="desc"></td></tr>
<tr id="row_0_4_3_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1utils_1_1CharBuffer.html" target="_self">CharBuffer</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

351
args_8h_source.html Normal file
View File

@@ -0,0 +1,351 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: /home/bala/devel/github.com/minio/minio-cpp/include/args.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">args.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// MinIO C++ Library for Amazon S3 Compatible Cloud Storage</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Copyright 2022 MinIO, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// you may not use this file except in compliance with the License.</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// You may obtain a copy of the License at</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// http://www.apache.org/licenses/LICENSE-2.0</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// limitations under the License.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; </div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#ifndef _MINIO_S3_ARGS_H</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#define _MINIO_S3_ARGS_H</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &lt;filesystem&gt;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;http.h&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &quot;sse.h&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &quot;types.h&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="keyword">namespace </span>minio {</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="keyword">namespace </span>s3 {</div>
<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1BaseArgs.html"> 27</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1BaseArgs.html">BaseArgs</a> {</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <a class="code" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a> extra_headers;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <a class="code" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a> extra_query_params;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;}; <span class="comment">// struct BaseArgs</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; </div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1BucketArgs.html"> 32</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1BucketArgs.html">BucketArgs</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1BaseArgs.html">BaseArgs</a> {</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; std::string bucket;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; std::string region;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; </div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> Validate();</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;}; <span class="comment">// struct BucketArgs</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; </div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1ObjectArgs.html"> 39</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1ObjectArgs.html">ObjectArgs</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1BucketArgs.html">BucketArgs</a> {</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; std::string object;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> Validate();</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;}; <span class="comment">// struct ObjectArgs</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; </div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1ObjectWriteArgs.html"> 45</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1ObjectWriteArgs.html">ObjectWriteArgs</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1ObjectArgs.html">ObjectArgs</a> {</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a> headers;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a> user_metadata;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="classminio_1_1s3_1_1Sse.html">Sse</a> *sse = NULL;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; std::map&lt;std::string, std::string&gt; tags;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="structminio_1_1s3_1_1Retention.html">Retention</a> *retention = NULL;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordtype">bool</span> legal_hold = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; </div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a> Headers();</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;}; <span class="comment">// struct ObjectWriteArgs</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; </div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1ObjectVersionArgs.html"> 56</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1ObjectVersionArgs.html">ObjectVersionArgs</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1ObjectArgs.html">ObjectArgs</a> {</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; std::string version_id;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;}; <span class="comment">// struct ObjectVersionArgs</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; </div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1ObjectReadArgs.html"> 60</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1ObjectReadArgs.html">ObjectReadArgs</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1ObjectVersionArgs.html">ObjectVersionArgs</a> {</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="classminio_1_1s3_1_1SseCustomerKey.html">SseCustomerKey</a> *ssec = NULL;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;}; <span class="comment">// struct ObjectReadArgs</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; </div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1ObjectConditionalReadArgs.html"> 64</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1ObjectConditionalReadArgs.html">ObjectConditionalReadArgs</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1ObjectReadArgs.html">ObjectReadArgs</a> {</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordtype">size_t</span> *offset = NULL;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordtype">size_t</span> *length = NULL;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; std::string match_etag;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; std::string not_match_etag;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="classminio_1_1utils_1_1Time.html">utils::Time</a> modified_since;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="classminio_1_1utils_1_1Time.html">utils::Time</a> unmodified_since;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; </div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a> Headers();</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a> CopyHeaders();</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;}; <span class="comment">// struct ObjectConditionalReadArgs</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; </div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1MakeBucketArgs.html"> 76</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1MakeBucketArgs.html">MakeBucketArgs</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1BucketArgs.html">BucketArgs</a> {</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordtype">bool</span> object_lock = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; </div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> Validate();</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;}; <span class="comment">// struct MakeBucketArgs</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; </div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="keyword">using</span> <a class="code" href="structminio_1_1s3_1_1BaseArgs.html">ListBucketsArgs</a> = <a class="code" href="structminio_1_1s3_1_1BaseArgs.html">BaseArgs</a>;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; </div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="keyword">using</span> <a class="code" href="structminio_1_1s3_1_1BucketArgs.html">BucketExistsArgs</a> = <a class="code" href="structminio_1_1s3_1_1BucketArgs.html">BucketArgs</a>;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="keyword">using</span> <a class="code" href="structminio_1_1s3_1_1BucketArgs.html">RemoveBucketArgs</a> = <a class="code" href="structminio_1_1s3_1_1BucketArgs.html">BucketArgs</a>;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; </div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1AbortMultipartUploadArgs.html"> 88</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1AbortMultipartUploadArgs.html">AbortMultipartUploadArgs</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1ObjectArgs.html">ObjectArgs</a> {</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; std::string upload_id;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; </div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> Validate();</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;}; <span class="comment">// struct AbortMultipartUploadArgs</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; </div>
<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1CompleteMultipartUploadArgs.html"> 94</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1CompleteMultipartUploadArgs.html">CompleteMultipartUploadArgs</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1ObjectArgs.html">ObjectArgs</a> {</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; std::string upload_id;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; std::list&lt;Part&gt; parts;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; </div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> Validate();</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;}; <span class="comment">// struct CompleteMultipartUploadArgs</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; </div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1CreateMultipartUploadArgs.html"> 101</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1CreateMultipartUploadArgs.html">CreateMultipartUploadArgs</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1ObjectArgs.html">ObjectArgs</a> {</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <a class="code" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a> headers;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;}; <span class="comment">// struct CreateMultipartUploadArgs</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; </div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1PutObjectBaseArgs.html"> 105</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1PutObjectBaseArgs.html">PutObjectBaseArgs</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1ObjectWriteArgs.html">ObjectWriteArgs</a> {</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordtype">long</span> object_size = -1;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordtype">size_t</span> part_size = 0;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordtype">long</span> part_count = 0;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; std::string content_type;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;}; <span class="comment">// struct PutObjectBaseArgs</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; </div>
<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1PutObjectApiArgs.html"> 112</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1PutObjectApiArgs.html">PutObjectApiArgs</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1PutObjectBaseArgs.html">PutObjectBaseArgs</a> {</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; std::string_view data;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a> query_params;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;}; <span class="comment">// struct PutObjectApiArgs</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; </div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1UploadPartArgs.html"> 117</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1UploadPartArgs.html">UploadPartArgs</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1ObjectWriteArgs.html">ObjectWriteArgs</a> {</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; std::string upload_id;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> part_number;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; std::string_view data;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; </div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> Validate();</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;}; <span class="comment">// struct UploadPartArgs</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; </div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1UploadPartCopyArgs.html"> 125</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1UploadPartCopyArgs.html">UploadPartCopyArgs</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1ObjectWriteArgs.html">ObjectWriteArgs</a> {</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; std::string upload_id;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> part_number;</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a> headers;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; </div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> Validate();</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;}; <span class="comment">// struct UploadPartCopyArgs</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; </div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="keyword">using</span> <a class="code" href="structminio_1_1s3_1_1ObjectConditionalReadArgs.html">StatObjectArgs</a> = <a class="code" href="structminio_1_1s3_1_1ObjectConditionalReadArgs.html">ObjectConditionalReadArgs</a>;</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; </div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="keyword">using</span> <a class="code" href="structminio_1_1s3_1_1ObjectVersionArgs.html">RemoveObjectArgs</a> = <a class="code" href="structminio_1_1s3_1_1ObjectVersionArgs.html">ObjectVersionArgs</a>;</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; </div>
<div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1DownloadObjectArgs.html"> 137</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1DownloadObjectArgs.html">DownloadObjectArgs</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1ObjectReadArgs.html">ObjectReadArgs</a> {</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; std::string filename;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordtype">bool</span> overwrite;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; </div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> Validate();</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;}; <span class="comment">// struct DownloadObjectArgs</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; </div>
<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1GetObjectArgs.html"> 144</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1GetObjectArgs.html">GetObjectArgs</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1ObjectConditionalReadArgs.html">ObjectConditionalReadArgs</a> {</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; http::DataCallback data_callback;</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordtype">void</span> *user_arg = NULL;</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; </div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> Validate();</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;}; <span class="comment">// struct GetObjectArgs</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; </div>
<div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1ListObjectsArgs.html"> 151</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1ListObjectsArgs.html">ListObjectsArgs</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1BucketArgs.html">BucketArgs</a> {</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; std::string delimiter;</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordtype">bool</span> use_url_encoding_type = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; std::string marker; <span class="comment">// only for ListObjectsV1.</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; std::string start_after; <span class="comment">// only for ListObjectsV2.</span></div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; std::string key_marker; <span class="comment">// only for GetObjectVersions.</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> max_keys = 1000;</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; std::string prefix;</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; std::string continuation_token; <span class="comment">// only for ListObjectsV2.</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordtype">bool</span> fetch_owner = <span class="keyword">false</span>; <span class="comment">// only for ListObjectsV2.</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; std::string version_id_marker; <span class="comment">// only for GetObjectVersions.</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordtype">bool</span> include_user_metadata = <span class="keyword">false</span>; <span class="comment">// MinIO extension for ListObjectsV2.</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordtype">bool</span> recursive = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordtype">bool</span> use_api_v1 = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordtype">bool</span> include_versions = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;}; <span class="comment">// struct ListObjectsArgs</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; </div>
<div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1ListObjectsCommonArgs.html"> 168</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1ListObjectsCommonArgs.html">ListObjectsCommonArgs</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1BucketArgs.html">BucketArgs</a> {</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; std::string delimiter;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; std::string encoding_type;</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> max_keys = 1000;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; std::string prefix;</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;}; <span class="comment">// struct ListObjectsCommonArgs</span></div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; </div>
<div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1ListObjectsV1Args.html"> 175</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1ListObjectsV1Args.html">ListObjectsV1Args</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1ListObjectsCommonArgs.html">ListObjectsCommonArgs</a> {</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; std::string marker;</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; </div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <a class="code" href="structminio_1_1s3_1_1ListObjectsV1Args.html">ListObjectsV1Args</a>();</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="code" href="structminio_1_1s3_1_1ListObjectsV1Args.html">ListObjectsV1Args</a>(<a class="code" href="structminio_1_1s3_1_1ListObjectsArgs.html">ListObjectsArgs</a> args);</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;}; <span class="comment">// struct ListObjectsV1Args</span></div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; </div>
<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1ListObjectsV2Args.html"> 182</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1ListObjectsV2Args.html">ListObjectsV2Args</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1ListObjectsCommonArgs.html">ListObjectsCommonArgs</a> {</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; std::string start_after;</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; std::string continuation_token;</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordtype">bool</span> fetch_owner;</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordtype">bool</span> include_user_metadata;</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; </div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="code" href="structminio_1_1s3_1_1ListObjectsV2Args.html">ListObjectsV2Args</a>();</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="code" href="structminio_1_1s3_1_1ListObjectsV2Args.html">ListObjectsV2Args</a>(<a class="code" href="structminio_1_1s3_1_1ListObjectsArgs.html">ListObjectsArgs</a> args);</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;}; <span class="comment">// struct ListObjectsV2Args</span></div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
<div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1ListObjectVersionsArgs.html"> 192</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1ListObjectVersionsArgs.html">ListObjectVersionsArgs</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1ListObjectsCommonArgs.html">ListObjectsCommonArgs</a> {</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; std::string key_marker;</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; std::string version_id_marker;</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; </div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <a class="code" href="structminio_1_1s3_1_1ListObjectVersionsArgs.html">ListObjectVersionsArgs</a>();</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <a class="code" href="structminio_1_1s3_1_1ListObjectVersionsArgs.html">ListObjectVersionsArgs</a>(<a class="code" href="structminio_1_1s3_1_1ListObjectsArgs.html">ListObjectsArgs</a> args);</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;}; <span class="comment">// struct ListObjectVersionsArgs</span></div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; </div>
<div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1PutObjectArgs.html"> 200</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1PutObjectArgs.html">PutObjectArgs</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1PutObjectBaseArgs.html">PutObjectBaseArgs</a> {</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; std::istream &amp;stream;</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; </div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <a class="code" href="structminio_1_1s3_1_1PutObjectArgs.html">PutObjectArgs</a>(std::istream &amp;stream, <span class="keywordtype">long</span> objectsize, <span class="keywordtype">long</span> partsize);</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> Validate();</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;}; <span class="comment">// struct PutObjectArgs</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; </div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;<span class="keyword">using</span> <a class="code" href="structminio_1_1s3_1_1ObjectConditionalReadArgs.html">CopySource</a> = <a class="code" href="structminio_1_1s3_1_1ObjectConditionalReadArgs.html">ObjectConditionalReadArgs</a>;</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; </div>
<div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1CopyObjectArgs.html"> 209</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1CopyObjectArgs.html">CopyObjectArgs</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1ObjectWriteArgs.html">ObjectWriteArgs</a> {</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <a class="code" href="structminio_1_1s3_1_1ObjectConditionalReadArgs.html">CopySource</a> source;</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; Directive *metadata_directive = NULL;</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; Directive *tagging_directive = NULL;</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; </div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> Validate();</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;}; <span class="comment">// struct CopyObjectArgs</span></div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; </div>
<div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1ComposeSource.html"> 217</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1ComposeSource.html">ComposeSource</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1ObjectConditionalReadArgs.html">ObjectConditionalReadArgs</a> {</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> BuildHeaders(<span class="keywordtype">size_t</span> object_size, std::string etag);</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordtype">size_t</span> ObjectSize();</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <a class="code" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a> Headers();</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; </div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordtype">long</span> object_size_ = -1;</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <a class="code" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a> headers_;</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;}; <span class="comment">// struct ComposeSource</span></div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; </div>
<div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1ComposeObjectArgs.html"> 227</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1ComposeObjectArgs.html">ComposeObjectArgs</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1ObjectWriteArgs.html">ObjectWriteArgs</a> {</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; std::list&lt;ComposeSource&gt; sources;</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; </div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> Validate();</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;}; <span class="comment">// struct ComposeObjectArgs</span></div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; </div>
<div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1UploadObjectArgs.html"> 233</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1UploadObjectArgs.html">UploadObjectArgs</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1PutObjectBaseArgs.html">PutObjectBaseArgs</a> {</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; std::string filename;</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; </div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> Validate();</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;}; <span class="comment">// struct PutObjectArgs</span></div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;} <span class="comment">// namespace s3</span></div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;} <span class="comment">// namespace minio</span></div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// #ifndef __MINIO_S3_ARGS_H</span></div>
<div class="ttc" id="aclassminio_1_1error_1_1Error_html"><div class="ttname"><a href="classminio_1_1error_1_1Error.html">minio::error::Error</a></div><div class="ttdef"><b>Definition:</b> error.h:23</div></div>
<div class="ttc" id="aclassminio_1_1s3_1_1SseCustomerKey_html"><div class="ttname"><a href="classminio_1_1s3_1_1SseCustomerKey.html">minio::s3::SseCustomerKey</a></div><div class="ttdef"><b>Definition:</b> sse.h:35</div></div>
<div class="ttc" id="aclassminio_1_1s3_1_1Sse_html"><div class="ttname"><a href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></div><div class="ttdef"><b>Definition:</b> sse.h:23</div></div>
<div class="ttc" id="aclassminio_1_1utils_1_1Multimap_html"><div class="ttname"><a href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a></div><div class="ttdef"><b>Definition:</b> utils.h:119</div></div>
<div class="ttc" id="aclassminio_1_1utils_1_1Time_html"><div class="ttname"><a href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a></div><div class="ttdef"><b>Definition:</b> utils.h:97</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1AbortMultipartUploadArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1AbortMultipartUploadArgs.html">minio::s3::AbortMultipartUploadArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:88</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1BaseArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1BaseArgs.html">minio::s3::BaseArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:27</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1BucketArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1BucketArgs.html">minio::s3::BucketArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:32</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1CompleteMultipartUploadArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1CompleteMultipartUploadArgs.html">minio::s3::CompleteMultipartUploadArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:94</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1ComposeObjectArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1ComposeObjectArgs.html">minio::s3::ComposeObjectArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:227</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1ComposeSource_html"><div class="ttname"><a href="structminio_1_1s3_1_1ComposeSource.html">minio::s3::ComposeSource</a></div><div class="ttdef"><b>Definition:</b> args.h:217</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1CopyObjectArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1CopyObjectArgs.html">minio::s3::CopyObjectArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:209</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1CreateMultipartUploadArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1CreateMultipartUploadArgs.html">minio::s3::CreateMultipartUploadArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:101</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1DownloadObjectArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1DownloadObjectArgs.html">minio::s3::DownloadObjectArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:137</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1GetObjectArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1GetObjectArgs.html">minio::s3::GetObjectArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:144</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1ListObjectVersionsArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1ListObjectVersionsArgs.html">minio::s3::ListObjectVersionsArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:192</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1ListObjectsArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1ListObjectsArgs.html">minio::s3::ListObjectsArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:151</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1ListObjectsCommonArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1ListObjectsCommonArgs.html">minio::s3::ListObjectsCommonArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:168</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1ListObjectsV1Args_html"><div class="ttname"><a href="structminio_1_1s3_1_1ListObjectsV1Args.html">minio::s3::ListObjectsV1Args</a></div><div class="ttdef"><b>Definition:</b> args.h:175</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1ListObjectsV2Args_html"><div class="ttname"><a href="structminio_1_1s3_1_1ListObjectsV2Args.html">minio::s3::ListObjectsV2Args</a></div><div class="ttdef"><b>Definition:</b> args.h:182</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1MakeBucketArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1MakeBucketArgs.html">minio::s3::MakeBucketArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:76</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1ObjectArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1ObjectArgs.html">minio::s3::ObjectArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:39</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1ObjectConditionalReadArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1ObjectConditionalReadArgs.html">minio::s3::ObjectConditionalReadArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:64</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1ObjectReadArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1ObjectReadArgs.html">minio::s3::ObjectReadArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:60</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1ObjectVersionArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1ObjectVersionArgs.html">minio::s3::ObjectVersionArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:56</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1ObjectWriteArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1ObjectWriteArgs.html">minio::s3::ObjectWriteArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:45</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1PutObjectApiArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1PutObjectApiArgs.html">minio::s3::PutObjectApiArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:112</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1PutObjectArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1PutObjectArgs.html">minio::s3::PutObjectArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:200</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1PutObjectBaseArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1PutObjectBaseArgs.html">minio::s3::PutObjectBaseArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:105</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1Retention_html"><div class="ttname"><a href="structminio_1_1s3_1_1Retention.html">minio::s3::Retention</a></div><div class="ttdef"><b>Definition:</b> types.h:118</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1UploadObjectArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1UploadObjectArgs.html">minio::s3::UploadObjectArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:233</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1UploadPartArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1UploadPartArgs.html">minio::s3::UploadPartArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:117</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1UploadPartCopyArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1UploadPartCopyArgs.html">minio::s3::UploadPartCopyArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:125</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

BIN
bc_s.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 676 B

BIN
bdwn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

View File

@@ -1,20 +0,0 @@
#!/bin/bash
function clang_format() {
if clang-format --output-replacements-xml --style=Google "$@" | grep -q '<replacement '; then
echo "ERROR:" "$@" "not in Google C/C++ style"
echo "To fix formatting run"
echo "$ clang-format -i --style=Google" "$@"
return 255
fi
}
ec=0
mapfile -t files < <(find src include examples tests -iname "*.cc" -o -iname "*.h")
for file in "${files[@]}"; do
if ! clang_format "$file"; then
ec=255
fi
done
exit "$ec"

122
classes.html Normal file
View File

@@ -0,0 +1,122 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: Class Index</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Class Index</div> </div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_E">E</a>&#160;|&#160;<a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a>&#160;|&#160;<a class="qindex" href="#letter_O">O</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_R">R</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a></div>
<div class="classindex">
<dl class="classindex even">
<dt class="alphachar"><a name="letter_A">A</a></dt>
<dd><a class="el" href="structminio_1_1s3_1_1AbortMultipartUploadArgs.html">AbortMultipartUploadArgs</a> (minio::s3)</dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a name="letter_B">B</a></dt>
<dd><a class="el" href="structminio_1_1s3_1_1BaseArgs.html">BaseArgs</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1http_1_1BaseUrl.html">BaseUrl</a> (minio::http)</dd><dd><a class="el" href="structminio_1_1s3_1_1Bucket.html">Bucket</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1BucketArgs.html">BucketArgs</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1BucketExistsResponse.html">BucketExistsResponse</a> (minio::s3)</dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a name="letter_C">C</a></dt>
<dd><a class="el" href="structminio_1_1utils_1_1CharBuffer.html">CharBuffer</a> (minio::utils)</dd><dd><a class="el" href="classminio_1_1s3_1_1Client.html">Client</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1CompleteMultipartUploadArgs.html">CompleteMultipartUploadArgs</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1CompleteMultipartUploadResponse.html">CompleteMultipartUploadResponse</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1ComposeObjectArgs.html">ComposeObjectArgs</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1ComposeSource.html">ComposeSource</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1CopyObjectArgs.html">CopyObjectArgs</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1CreateMultipartUploadArgs.html">CreateMultipartUploadArgs</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1CreateMultipartUploadResponse.html">CreateMultipartUploadResponse</a> (minio::s3)</dd><dd><a class="el" href="classminio_1_1creds_1_1Credentials.html">Credentials</a> (minio::creds)</dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a name="letter_D">D</a></dt>
<dd><a class="el" href="structminio_1_1http_1_1DataCallbackArgs.html">DataCallbackArgs</a> (minio::http)</dd><dd><a class="el" href="structminio_1_1s3_1_1DownloadObjectArgs.html">DownloadObjectArgs</a> (minio::s3)</dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a name="letter_E">E</a></dt>
<dd><a class="el" href="classminio_1_1error_1_1Error.html">Error</a> (minio::error)</dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a name="letter_G">G</a></dt>
<dd><a class="el" href="structminio_1_1s3_1_1GetObjectArgs.html">GetObjectArgs</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1GetRegionResponse.html">GetRegionResponse</a> (minio::s3)</dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a name="letter_I">I</a></dt>
<dd><a class="el" href="structminio_1_1s3_1_1Item.html">Item</a> (minio::s3)</dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a name="letter_L">L</a></dt>
<dd><a class="el" href="structminio_1_1s3_1_1ListBucketsResponse.html">ListBucketsResponse</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1ListObjectsArgs.html">ListObjectsArgs</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1ListObjectsCommonArgs.html">ListObjectsCommonArgs</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1ListObjectsResponse.html">ListObjectsResponse</a> (minio::s3)</dd><dd><a class="el" href="classminio_1_1s3_1_1ListObjectsResult.html">ListObjectsResult</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1ListObjectsV1Args.html">ListObjectsV1Args</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1ListObjectsV2Args.html">ListObjectsV2Args</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1ListObjectVersionsArgs.html">ListObjectVersionsArgs</a> (minio::s3)</dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a name="letter_M">M</a></dt>
<dd><a class="el" href="structminio_1_1s3_1_1MakeBucketArgs.html">MakeBucketArgs</a> (minio::s3)</dd><dd><a class="el" href="classminio_1_1utils_1_1Multimap.html">Multimap</a> (minio::utils)</dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a name="letter_O">O</a></dt>
<dd><a class="el" href="structminio_1_1s3_1_1ObjectArgs.html">ObjectArgs</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1ObjectConditionalReadArgs.html">ObjectConditionalReadArgs</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1ObjectReadArgs.html">ObjectReadArgs</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1ObjectVersionArgs.html">ObjectVersionArgs</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1ObjectWriteArgs.html">ObjectWriteArgs</a> (minio::s3)</dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a name="letter_P">P</a></dt>
<dd><a class="el" href="structminio_1_1s3_1_1Part.html">Part</a> (minio::s3)</dd><dd><a class="el" href="classminio_1_1creds_1_1Provider.html">Provider</a> (minio::creds)</dd><dd><a class="el" href="structminio_1_1s3_1_1PutObjectApiArgs.html">PutObjectApiArgs</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1PutObjectArgs.html">PutObjectArgs</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1PutObjectBaseArgs.html">PutObjectBaseArgs</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1PutObjectResponse.html">PutObjectResponse</a> (minio::s3)</dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a name="letter_R">R</a></dt>
<dd><a class="el" href="structminio_1_1http_1_1Request.html">Request</a> (minio::http)</dd><dd><a class="el" href="structminio_1_1s3_1_1RequestBuilder.html">RequestBuilder</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1http_1_1Response.html">Response</a> (minio::http)</dd><dd><a class="el" href="structminio_1_1s3_1_1Response.html">Response</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1Retention.html">Retention</a> (minio::s3)</dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a name="letter_S">S</a></dt>
<dd><a class="el" href="classminio_1_1s3_1_1Sse.html">Sse</a> (minio::s3)</dd><dd><a class="el" href="classminio_1_1s3_1_1SseCustomerKey.html">SseCustomerKey</a> (minio::s3)</dd><dd><a class="el" href="classminio_1_1s3_1_1SseKms.html">SseKms</a> (minio::s3)</dd><dd><a class="el" href="classminio_1_1s3_1_1SseS3.html">SseS3</a> (minio::s3)</dd><dd><a class="el" href="classminio_1_1creds_1_1StaticProvider.html">StaticProvider</a> (minio::creds)</dd><dd><a class="el" href="structminio_1_1s3_1_1StatObjectResponse.html">StatObjectResponse</a> (minio::s3)</dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a name="letter_T">T</a></dt>
<dd><a class="el" href="classminio_1_1utils_1_1Time.html">Time</a> (minio::utils)</dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a name="letter_U">U</a></dt>
<dd><a class="el" href="structminio_1_1s3_1_1UploadObjectArgs.html">UploadObjectArgs</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1UploadPartArgs.html">UploadPartArgs</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1s3_1_1UploadPartCopyArgs.html">UploadPartCopyArgs</a> (minio::s3)</dd><dd><a class="el" href="structminio_1_1utils_1_1Url.html">Url</a> (minio::utils)</dd></dl>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

View File

@@ -0,0 +1,87 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>minio</b></li><li class="navelem"><b>creds</b></li><li class="navelem"><a class="el" href="classminio_1_1creds_1_1Credentials.html">Credentials</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">minio::creds::Credentials Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classminio_1_1creds_1_1Credentials.html">minio::creds::Credentials</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AccessKey</b>() (defined in <a class="el" href="classminio_1_1creds_1_1Credentials.html">minio::creds::Credentials</a>)</td><td class="entry"><a class="el" href="classminio_1_1creds_1_1Credentials.html">minio::creds::Credentials</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Credentials</b>(const Credentials &amp;creds) (defined in <a class="el" href="classminio_1_1creds_1_1Credentials.html">minio::creds::Credentials</a>)</td><td class="entry"><a class="el" href="classminio_1_1creds_1_1Credentials.html">minio::creds::Credentials</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Credentials</b>(std::string_view access_key, std::string_view secret_key, std::string_view session_token=&quot;&quot;, unsigned int expiration=0) (defined in <a class="el" href="classminio_1_1creds_1_1Credentials.html">minio::creds::Credentials</a>)</td><td class="entry"><a class="el" href="classminio_1_1creds_1_1Credentials.html">minio::creds::Credentials</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>IsExpired</b>() (defined in <a class="el" href="classminio_1_1creds_1_1Credentials.html">minio::creds::Credentials</a>)</td><td class="entry"><a class="el" href="classminio_1_1creds_1_1Credentials.html">minio::creds::Credentials</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SecretKey</b>() (defined in <a class="el" href="classminio_1_1creds_1_1Credentials.html">minio::creds::Credentials</a>)</td><td class="entry"><a class="el" href="classminio_1_1creds_1_1Credentials.html">minio::creds::Credentials</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>SessionToken</b>() (defined in <a class="el" href="classminio_1_1creds_1_1Credentials.html">minio::creds::Credentials</a>)</td><td class="entry"><a class="el" href="classminio_1_1creds_1_1Credentials.html">minio::creds::Credentials</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

View File

@@ -0,0 +1,111 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: minio::creds::Credentials Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>minio</b></li><li class="navelem"><b>creds</b></li><li class="navelem"><a class="el" href="classminio_1_1creds_1_1Credentials.html">Credentials</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classminio_1_1creds_1_1Credentials-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">minio::creds::Credentials Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="creds_8h_source.html">creds.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a072f0fd859859c443e344bb7454fe461"><td class="memItemLeft" align="right" valign="top"><a id="a072f0fd859859c443e344bb7454fe461"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>Credentials</b> (const <a class="el" href="classminio_1_1creds_1_1Credentials.html">Credentials</a> &amp;creds)</td></tr>
<tr class="separator:a072f0fd859859c443e344bb7454fe461"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbd3897c0156459f943284dff866a990"><td class="memItemLeft" align="right" valign="top"><a id="afbd3897c0156459f943284dff866a990"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>Credentials</b> (std::string_view access_key, std::string_view secret_key, std::string_view session_token=&quot;&quot;, unsigned int expiration=0)</td></tr>
<tr class="separator:afbd3897c0156459f943284dff866a990"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a209a863fd6a47c3c7cc505d983cbb5"><td class="memItemLeft" align="right" valign="top"><a id="a9a209a863fd6a47c3c7cc505d983cbb5"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>AccessKey</b> ()</td></tr>
<tr class="separator:a9a209a863fd6a47c3c7cc505d983cbb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1db8776c119af4fb84000f21ef21e2f2"><td class="memItemLeft" align="right" valign="top"><a id="a1db8776c119af4fb84000f21ef21e2f2"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>SecretKey</b> ()</td></tr>
<tr class="separator:a1db8776c119af4fb84000f21ef21e2f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3641394c50e69967f993b49045717bc9"><td class="memItemLeft" align="right" valign="top"><a id="a3641394c50e69967f993b49045717bc9"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>SessionToken</b> ()</td></tr>
<tr class="separator:a3641394c50e69967f993b49045717bc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4e35a9ce7d04e516ac5d4857b94795f"><td class="memItemLeft" align="right" valign="top"><a id="aa4e35a9ce7d04e516ac5d4857b94795f"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>IsExpired</b> ()</td></tr>
<tr class="separator:aa4e35a9ce7d04e516ac5d4857b94795f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="classminio_1_1creds_1_1Credentials.html">Credentials</a> contains access key and secret key with optional session token and expiration. </p>
</div><hr/>The documentation for this class was generated from the following files:<ul>
<li>/home/bala/devel/github.com/minio/minio-cpp/include/<a class="el" href="creds_8h_source.html">creds.h</a></li>
<li>/home/bala/devel/github.com/minio/minio-cpp/src/creds.cc</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

View File

@@ -0,0 +1,84 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>minio</b></li><li class="navelem"><b>creds</b></li><li class="navelem"><a class="el" href="classminio_1_1creds_1_1Provider.html">Provider</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">minio::creds::Provider Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classminio_1_1creds_1_1Provider.html">minio::creds::Provider</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Fetch</b>()=0 (defined in <a class="el" href="classminio_1_1creds_1_1Provider.html">minio::creds::Provider</a>)</td><td class="entry"><a class="el" href="classminio_1_1creds_1_1Provider.html">minio::creds::Provider</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Provider</b>() (defined in <a class="el" href="classminio_1_1creds_1_1Provider.html">minio::creds::Provider</a>)</td><td class="entry"><a class="el" href="classminio_1_1creds_1_1Provider.html">minio::creds::Provider</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Provider</b>() (defined in <a class="el" href="classminio_1_1creds_1_1Provider.html">minio::creds::Provider</a>)</td><td class="entry"><a class="el" href="classminio_1_1creds_1_1Provider.html">minio::creds::Provider</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

View File

@@ -0,0 +1,104 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: minio::creds::Provider Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>minio</b></li><li class="navelem"><b>creds</b></li><li class="navelem"><a class="el" href="classminio_1_1creds_1_1Provider.html">Provider</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classminio_1_1creds_1_1Provider-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">minio::creds::Provider Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="creds_8h_source.html">creds.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for minio::creds::Provider:</div>
<div class="dyncontent">
<div class="center">
<img src="classminio_1_1creds_1_1Provider.png" usemap="#minio::creds::Provider_map" alt=""/>
<map id="minio::creds::Provider_map" name="minio::creds::Provider_map">
<area href="classminio_1_1creds_1_1StaticProvider.html" alt="minio::creds::StaticProvider" shape="rect" coords="0,56,165,80"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa1e1c5aeb1860befee83d785a53c023a"><td class="memItemLeft" align="right" valign="top"><a id="aa1e1c5aeb1860befee83d785a53c023a"></a>
virtual <a class="el" href="classminio_1_1creds_1_1Credentials.html">Credentials</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Fetch</b> ()=0</td></tr>
<tr class="separator:aa1e1c5aeb1860befee83d785a53c023a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Credential provider interface. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>/home/bala/devel/github.com/minio/minio-cpp/include/<a class="el" href="creds_8h_source.html">creds.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 655 B

View File

@@ -0,0 +1,86 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>minio</b></li><li class="navelem"><b>creds</b></li><li class="navelem"><a class="el" href="classminio_1_1creds_1_1StaticProvider.html">StaticProvider</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">minio::creds::StaticProvider Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classminio_1_1creds_1_1StaticProvider.html">minio::creds::StaticProvider</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Fetch</b>() (defined in <a class="el" href="classminio_1_1creds_1_1StaticProvider.html">minio::creds::StaticProvider</a>)</td><td class="entry"><a class="el" href="classminio_1_1creds_1_1StaticProvider.html">minio::creds::StaticProvider</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Provider</b>() (defined in <a class="el" href="classminio_1_1creds_1_1Provider.html">minio::creds::Provider</a>)</td><td class="entry"><a class="el" href="classminio_1_1creds_1_1Provider.html">minio::creds::Provider</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>StaticProvider</b>(std::string_view access_key, std::string_view secret_key, std::string_view session_token=&quot;&quot;) (defined in <a class="el" href="classminio_1_1creds_1_1StaticProvider.html">minio::creds::StaticProvider</a>)</td><td class="entry"><a class="el" href="classminio_1_1creds_1_1StaticProvider.html">minio::creds::StaticProvider</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~Provider</b>() (defined in <a class="el" href="classminio_1_1creds_1_1Provider.html">minio::creds::Provider</a>)</td><td class="entry"><a class="el" href="classminio_1_1creds_1_1Provider.html">minio::creds::Provider</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~StaticProvider</b>() (defined in <a class="el" href="classminio_1_1creds_1_1StaticProvider.html">minio::creds::StaticProvider</a>)</td><td class="entry"><a class="el" href="classminio_1_1creds_1_1StaticProvider.html">minio::creds::StaticProvider</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

View File

@@ -0,0 +1,108 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: minio::creds::StaticProvider Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>minio</b></li><li class="navelem"><b>creds</b></li><li class="navelem"><a class="el" href="classminio_1_1creds_1_1StaticProvider.html">StaticProvider</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classminio_1_1creds_1_1StaticProvider-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">minio::creds::StaticProvider Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="creds_8h_source.html">creds.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for minio::creds::StaticProvider:</div>
<div class="dyncontent">
<div class="center">
<img src="classminio_1_1creds_1_1StaticProvider.png" usemap="#minio::creds::StaticProvider_map" alt=""/>
<map id="minio::creds::StaticProvider_map" name="minio::creds::StaticProvider_map">
<area href="classminio_1_1creds_1_1Provider.html" alt="minio::creds::Provider" shape="rect" coords="0,0,165,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a3ff0d0fbe6a28f7091d78f66fc5c2b5e"><td class="memItemLeft" align="right" valign="top"><a id="a3ff0d0fbe6a28f7091d78f66fc5c2b5e"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>StaticProvider</b> (std::string_view access_key, std::string_view secret_key, std::string_view session_token=&quot;&quot;)</td></tr>
<tr class="separator:a3ff0d0fbe6a28f7091d78f66fc5c2b5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00e92ab16102042c390cb80c9c516014"><td class="memItemLeft" align="right" valign="top"><a id="a00e92ab16102042c390cb80c9c516014"></a>
<a class="el" href="classminio_1_1creds_1_1Credentials.html">Credentials</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Fetch</b> ()</td></tr>
<tr class="separator:a00e92ab16102042c390cb80c9c516014"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Static credential provider. </p>
</div><hr/>The documentation for this class was generated from the following files:<ul>
<li>/home/bala/devel/github.com/minio/minio-cpp/include/<a class="el" href="creds_8h_source.html">creds.h</a></li>
<li>/home/bala/devel/github.com/minio/minio-cpp/src/creds.cc</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 657 B

View File

@@ -0,0 +1,85 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>minio</b></li><li class="navelem"><b>error</b></li><li class="navelem"><a class="el" href="classminio_1_1error_1_1Error.html">Error</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">minio::error::Error Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classminio_1_1error_1_1Error.html">minio::error::Error</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Error</b>() (defined in <a class="el" href="classminio_1_1error_1_1Error.html">minio::error::Error</a>)</td><td class="entry"><a class="el" href="classminio_1_1error_1_1Error.html">minio::error::Error</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Error</b>(std::string_view msg) (defined in <a class="el" href="classminio_1_1error_1_1Error.html">minio::error::Error</a>)</td><td class="entry"><a class="el" href="classminio_1_1error_1_1Error.html">minio::error::Error</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator bool</b>() const (defined in <a class="el" href="classminio_1_1error_1_1Error.html">minio::error::Error</a>)</td><td class="entry"><a class="el" href="classminio_1_1error_1_1Error.html">minio::error::Error</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>String</b>() (defined in <a class="el" href="classminio_1_1error_1_1Error.html">minio::error::Error</a>)</td><td class="entry"><a class="el" href="classminio_1_1error_1_1Error.html">minio::error::Error</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

View File

@@ -0,0 +1,97 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: minio::error::Error Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>minio</b></li><li class="navelem"><b>error</b></li><li class="navelem"><a class="el" href="classminio_1_1error_1_1Error.html">Error</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classminio_1_1error_1_1Error-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">minio::error::Error Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a888a69fcaeddf00ba0ae4460be0ba6d4"><td class="memItemLeft" align="right" valign="top"><a id="a888a69fcaeddf00ba0ae4460be0ba6d4"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>Error</b> (std::string_view msg)</td></tr>
<tr class="separator:a888a69fcaeddf00ba0ae4460be0ba6d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1626ecf3cfc776d576972b9985774989"><td class="memItemLeft" align="right" valign="top"><a id="a1626ecf3cfc776d576972b9985774989"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>String</b> ()</td></tr>
<tr class="separator:a1626ecf3cfc776d576972b9985774989"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68a3c38f62a50d8f19c1668f29f08827"><td class="memItemLeft" align="right" valign="top"><a id="a68a3c38f62a50d8f19c1668f29f08827"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>operator bool</b> () const</td></tr>
<tr class="separator:a68a3c38f62a50d8f19c1668f29f08827"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>/home/bala/devel/github.com/minio/minio-cpp/include/<a class="el" href="error_8h_source.html">error.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

View File

@@ -0,0 +1,115 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>minio</b></li><li class="navelem"><b>s3</b></li><li class="navelem"><a class="el" href="classminio_1_1s3_1_1Client.html">Client</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">minio::s3::Client Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AbortMultipartUpload</b>(AbortMultipartUploadArgs args) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>BucketExists</b>(BucketExistsArgs args) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>CalculatePartCount</b>(size_t &amp;part_count, std::list&lt; ComposeSource &gt; sources) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Client</b>(http::BaseUrl &amp;base_url, creds::Provider *provider=NULL) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>CompleteMultipartUpload</b>(CompleteMultipartUploadArgs args) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ComposeObject</b>(ComposeObjectArgs args, std::string &amp;upload_id) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ComposeObject</b>(ComposeObjectArgs args) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>CopyObject</b>(CopyObjectArgs args) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>CreateMultipartUpload</b>(CreateMultipartUploadArgs args) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Debug</b>(bool flag) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>DownloadObject</b>(DownloadObjectArgs args) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Execute</b>(RequestBuilder &amp;builder) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>execute</b>(RequestBuilder &amp;builder) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>GetErrorResponse</b>(http::Response resp, std::string_view resource, http::Method method, std::string_view bucket_name, std::string_view object_name) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GetObject</b>(GetObjectArgs args) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>GetRegion</b>(std::string_view bucket_name, std::string_view region=&quot;&quot;) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>HandleRedirectResponse</b>(std::string &amp;code, std::string &amp;message, int status_code, http::Method method, utils::Multimap headers, std::string_view bucket_name, bool retry=false) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>IgnoreCertCheck</b>(bool flag) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ListBuckets</b>(ListBucketsArgs args) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ListBuckets</b>() (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ListObjects</b>(ListObjectsArgs args) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ListObjectsV1</b>(ListObjectsV1Args args) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ListObjectsV2</b>(ListObjectsV2Args args) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ListObjectVersions</b>(ListObjectVersionsArgs args) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>MakeBucket</b>(MakeBucketArgs args) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>PutObject</b>(PutObjectApiArgs args) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>PutObject</b>(PutObjectArgs &amp;args, std::string &amp;upload_id, char *buf) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>PutObject</b>(PutObjectArgs args) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>RemoveBucket</b>(RemoveBucketArgs args) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>RemoveObject</b>(RemoveObjectArgs args) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>StatObject</b>(StatObjectArgs args) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>UploadObject</b>(UploadObjectArgs args) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>UploadPart</b>(UploadPartArgs args) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>UploadPartCopy</b>(UploadPartCopyArgs args) (defined in <a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

View File

@@ -0,0 +1,195 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: minio::s3::Client Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>minio</b></li><li class="navelem"><b>s3</b></li><li class="navelem"><a class="el" href="classminio_1_1s3_1_1Client.html">Client</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classminio_1_1s3_1_1Client-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">minio::s3::Client Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="client_8h_source.html">client.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a55714003e52fd36b6c607a49e715a70c"><td class="memItemLeft" align="right" valign="top"><a id="a55714003e52fd36b6c607a49e715a70c"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>Client</b> (<a class="el" href="structminio_1_1http_1_1BaseUrl.html">http::BaseUrl</a> &amp;base_url, <a class="el" href="classminio_1_1creds_1_1Provider.html">creds::Provider</a> *provider=NULL)</td></tr>
<tr class="separator:a55714003e52fd36b6c607a49e715a70c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a357d4a6a79c9cd1c3236b3ea6646a085"><td class="memItemLeft" align="right" valign="top"><a id="a357d4a6a79c9cd1c3236b3ea6646a085"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Debug</b> (bool flag)</td></tr>
<tr class="separator:a357d4a6a79c9cd1c3236b3ea6646a085"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfa976f2820cff2d7dbf4b6894a58e78"><td class="memItemLeft" align="right" valign="top"><a id="acfa976f2820cff2d7dbf4b6894a58e78"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>IgnoreCertCheck</b> (bool flag)</td></tr>
<tr class="separator:acfa976f2820cff2d7dbf4b6894a58e78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d7732f8a2e4fd7c35ab4594a48b7e64"><td class="memItemLeft" align="right" valign="top"><a id="a7d7732f8a2e4fd7c35ab4594a48b7e64"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>HandleRedirectResponse</b> (std::string &amp;code, std::string &amp;message, int status_code, http::Method method, <a class="el" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a> headers, std::string_view bucket_name, bool retry=false)</td></tr>
<tr class="separator:a7d7732f8a2e4fd7c35ab4594a48b7e64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6109d0f1e48b1fbfc3cc020e249d645"><td class="memItemLeft" align="right" valign="top"><a id="aa6109d0f1e48b1fbfc3cc020e249d645"></a>
<a class="el" href="structminio_1_1s3_1_1Response.html">Response</a>&#160;</td><td class="memItemRight" valign="bottom"><b>GetErrorResponse</b> (<a class="el" href="structminio_1_1http_1_1Response.html">http::Response</a> resp, std::string_view resource, http::Method method, std::string_view bucket_name, std::string_view object_name)</td></tr>
<tr class="separator:aa6109d0f1e48b1fbfc3cc020e249d645"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a482fde75157d619cad6fb40ac9818cee"><td class="memItemLeft" align="right" valign="top"><a id="a482fde75157d619cad6fb40ac9818cee"></a>
<a class="el" href="structminio_1_1s3_1_1Response.html">Response</a>&#160;</td><td class="memItemRight" valign="bottom"><b>execute</b> (<a class="el" href="structminio_1_1s3_1_1RequestBuilder.html">RequestBuilder</a> &amp;builder)</td></tr>
<tr class="separator:a482fde75157d619cad6fb40ac9818cee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b3c6e36ab6cfc3f20dcc8e79e4c5003"><td class="memItemLeft" align="right" valign="top"><a id="a9b3c6e36ab6cfc3f20dcc8e79e4c5003"></a>
<a class="el" href="structminio_1_1s3_1_1Response.html">Response</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Execute</b> (<a class="el" href="structminio_1_1s3_1_1RequestBuilder.html">RequestBuilder</a> &amp;builder)</td></tr>
<tr class="separator:a9b3c6e36ab6cfc3f20dcc8e79e4c5003"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4799121987bc36ee949b2ed63581ec3"><td class="memItemLeft" align="right" valign="top"><a id="ad4799121987bc36ee949b2ed63581ec3"></a>
<a class="el" href="structminio_1_1s3_1_1ListObjectsResponse.html">ListObjectsResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>ListObjectsV1</b> (<a class="el" href="structminio_1_1s3_1_1ListObjectsV1Args.html">ListObjectsV1Args</a> args)</td></tr>
<tr class="separator:ad4799121987bc36ee949b2ed63581ec3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0a8390307c2ab6a6a7eee69999f42e3"><td class="memItemLeft" align="right" valign="top"><a id="ab0a8390307c2ab6a6a7eee69999f42e3"></a>
<a class="el" href="structminio_1_1s3_1_1ListObjectsResponse.html">ListObjectsResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>ListObjectsV2</b> (<a class="el" href="structminio_1_1s3_1_1ListObjectsV2Args.html">ListObjectsV2Args</a> args)</td></tr>
<tr class="separator:ab0a8390307c2ab6a6a7eee69999f42e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abccef4f4f2d8e0733dae4e67b25cfa17"><td class="memItemLeft" align="right" valign="top"><a id="abccef4f4f2d8e0733dae4e67b25cfa17"></a>
<a class="el" href="structminio_1_1s3_1_1ListObjectsResponse.html">ListObjectsResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>ListObjectVersions</b> (<a class="el" href="structminio_1_1s3_1_1ListObjectVersionsArgs.html">ListObjectVersionsArgs</a> args)</td></tr>
<tr class="separator:abccef4f4f2d8e0733dae4e67b25cfa17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b0d93a87dfe6e4fa3ad3366dd1fe101"><td class="memItemLeft" align="right" valign="top"><a id="a6b0d93a87dfe6e4fa3ad3366dd1fe101"></a>
<a class="el" href="structminio_1_1s3_1_1GetRegionResponse.html">GetRegionResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>GetRegion</b> (std::string_view bucket_name, std::string_view region=&quot;&quot;)</td></tr>
<tr class="separator:a6b0d93a87dfe6e4fa3ad3366dd1fe101"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a417b3964b5426f4cc14efc2ee9a0fe84"><td class="memItemLeft" align="right" valign="top"><a id="a417b3964b5426f4cc14efc2ee9a0fe84"></a>
<a class="el" href="structminio_1_1s3_1_1Response.html">MakeBucketResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>MakeBucket</b> (<a class="el" href="structminio_1_1s3_1_1MakeBucketArgs.html">MakeBucketArgs</a> args)</td></tr>
<tr class="separator:a417b3964b5426f4cc14efc2ee9a0fe84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71240f9fa2211d86ee68ca76d0b4aadb"><td class="memItemLeft" align="right" valign="top"><a id="a71240f9fa2211d86ee68ca76d0b4aadb"></a>
<a class="el" href="structminio_1_1s3_1_1ListBucketsResponse.html">ListBucketsResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>ListBuckets</b> (<a class="el" href="structminio_1_1s3_1_1BaseArgs.html">ListBucketsArgs</a> args)</td></tr>
<tr class="separator:a71240f9fa2211d86ee68ca76d0b4aadb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0668fa96a3a2c1cb442a428c74f9a8b7"><td class="memItemLeft" align="right" valign="top"><a id="a0668fa96a3a2c1cb442a428c74f9a8b7"></a>
<a class="el" href="structminio_1_1s3_1_1ListBucketsResponse.html">ListBucketsResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>ListBuckets</b> ()</td></tr>
<tr class="separator:a0668fa96a3a2c1cb442a428c74f9a8b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a0c26cb147e93e3d76035a2a26d491a"><td class="memItemLeft" align="right" valign="top"><a id="a4a0c26cb147e93e3d76035a2a26d491a"></a>
<a class="el" href="structminio_1_1s3_1_1BucketExistsResponse.html">BucketExistsResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>BucketExists</b> (<a class="el" href="structminio_1_1s3_1_1BucketArgs.html">BucketExistsArgs</a> args)</td></tr>
<tr class="separator:a4a0c26cb147e93e3d76035a2a26d491a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a822e247fa0f1c7438f0b36238c559056"><td class="memItemLeft" align="right" valign="top"><a id="a822e247fa0f1c7438f0b36238c559056"></a>
<a class="el" href="structminio_1_1s3_1_1Response.html">RemoveBucketResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>RemoveBucket</b> (<a class="el" href="structminio_1_1s3_1_1BucketArgs.html">RemoveBucketArgs</a> args)</td></tr>
<tr class="separator:a822e247fa0f1c7438f0b36238c559056"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9746b438c59c7e623822c1de8921008"><td class="memItemLeft" align="right" valign="top"><a id="ac9746b438c59c7e623822c1de8921008"></a>
<a class="el" href="structminio_1_1s3_1_1Response.html">AbortMultipartUploadResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>AbortMultipartUpload</b> (<a class="el" href="structminio_1_1s3_1_1AbortMultipartUploadArgs.html">AbortMultipartUploadArgs</a> args)</td></tr>
<tr class="separator:ac9746b438c59c7e623822c1de8921008"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecf13c1f6c44a2f29cb334b9c970630e"><td class="memItemLeft" align="right" valign="top"><a id="aecf13c1f6c44a2f29cb334b9c970630e"></a>
<a class="el" href="structminio_1_1s3_1_1CompleteMultipartUploadResponse.html">CompleteMultipartUploadResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>CompleteMultipartUpload</b> (<a class="el" href="structminio_1_1s3_1_1CompleteMultipartUploadArgs.html">CompleteMultipartUploadArgs</a> args)</td></tr>
<tr class="separator:aecf13c1f6c44a2f29cb334b9c970630e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed00b8ebdf438366303c10936b4971d3"><td class="memItemLeft" align="right" valign="top"><a id="aed00b8ebdf438366303c10936b4971d3"></a>
<a class="el" href="structminio_1_1s3_1_1CreateMultipartUploadResponse.html">CreateMultipartUploadResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>CreateMultipartUpload</b> (<a class="el" href="structminio_1_1s3_1_1CreateMultipartUploadArgs.html">CreateMultipartUploadArgs</a> args)</td></tr>
<tr class="separator:aed00b8ebdf438366303c10936b4971d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe3766d219cd02f09a73ab78f48ad66e"><td class="memItemLeft" align="right" valign="top"><a id="abe3766d219cd02f09a73ab78f48ad66e"></a>
<a class="el" href="structminio_1_1s3_1_1PutObjectResponse.html">PutObjectResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>PutObject</b> (<a class="el" href="structminio_1_1s3_1_1PutObjectApiArgs.html">PutObjectApiArgs</a> args)</td></tr>
<tr class="separator:abe3766d219cd02f09a73ab78f48ad66e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7faee9699dccc813c6bb157c1760025d"><td class="memItemLeft" align="right" valign="top"><a id="a7faee9699dccc813c6bb157c1760025d"></a>
<a class="el" href="structminio_1_1s3_1_1PutObjectResponse.html">UploadPartResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>UploadPart</b> (<a class="el" href="structminio_1_1s3_1_1UploadPartArgs.html">UploadPartArgs</a> args)</td></tr>
<tr class="separator:a7faee9699dccc813c6bb157c1760025d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3c618ba534e369bd7c0b8c6e7512e7c"><td class="memItemLeft" align="right" valign="top"><a id="ae3c618ba534e369bd7c0b8c6e7512e7c"></a>
<a class="el" href="structminio_1_1s3_1_1PutObjectResponse.html">UploadPartCopyResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>UploadPartCopy</b> (<a class="el" href="structminio_1_1s3_1_1UploadPartCopyArgs.html">UploadPartCopyArgs</a> args)</td></tr>
<tr class="separator:ae3c618ba534e369bd7c0b8c6e7512e7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1d621b1157f7b63ca92c1eab4250e10"><td class="memItemLeft" align="right" valign="top"><a id="ae1d621b1157f7b63ca92c1eab4250e10"></a>
<a class="el" href="structminio_1_1s3_1_1StatObjectResponse.html">StatObjectResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>StatObject</b> (<a class="el" href="structminio_1_1s3_1_1ObjectConditionalReadArgs.html">StatObjectArgs</a> args)</td></tr>
<tr class="separator:ae1d621b1157f7b63ca92c1eab4250e10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a461e96dadd2affdbf08450b76d87cd65"><td class="memItemLeft" align="right" valign="top"><a id="a461e96dadd2affdbf08450b76d87cd65"></a>
<a class="el" href="structminio_1_1s3_1_1Response.html">RemoveObjectResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>RemoveObject</b> (<a class="el" href="structminio_1_1s3_1_1ObjectVersionArgs.html">RemoveObjectArgs</a> args)</td></tr>
<tr class="separator:a461e96dadd2affdbf08450b76d87cd65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a449b6449f43a4d751ddc75db81593a7b"><td class="memItemLeft" align="right" valign="top"><a id="a449b6449f43a4d751ddc75db81593a7b"></a>
<a class="el" href="structminio_1_1s3_1_1Response.html">DownloadObjectResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>DownloadObject</b> (<a class="el" href="structminio_1_1s3_1_1DownloadObjectArgs.html">DownloadObjectArgs</a> args)</td></tr>
<tr class="separator:a449b6449f43a4d751ddc75db81593a7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5dd0a532563066bd7aaadb7f9343434"><td class="memItemLeft" align="right" valign="top"><a id="aa5dd0a532563066bd7aaadb7f9343434"></a>
<a class="el" href="structminio_1_1s3_1_1Response.html">GetObjectResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>GetObject</b> (<a class="el" href="structminio_1_1s3_1_1GetObjectArgs.html">GetObjectArgs</a> args)</td></tr>
<tr class="separator:aa5dd0a532563066bd7aaadb7f9343434"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1606fcf5328cafd59490b5e4ddca0985"><td class="memItemLeft" align="right" valign="top"><a id="a1606fcf5328cafd59490b5e4ddca0985"></a>
<a class="el" href="classminio_1_1s3_1_1ListObjectsResult.html">ListObjectsResult</a>&#160;</td><td class="memItemRight" valign="bottom"><b>ListObjects</b> (<a class="el" href="structminio_1_1s3_1_1ListObjectsArgs.html">ListObjectsArgs</a> args)</td></tr>
<tr class="separator:a1606fcf5328cafd59490b5e4ddca0985"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6adb04c6185045e495633a86cb5ee999"><td class="memItemLeft" align="right" valign="top"><a id="a6adb04c6185045e495633a86cb5ee999"></a>
<a class="el" href="structminio_1_1s3_1_1PutObjectResponse.html">PutObjectResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>PutObject</b> (<a class="el" href="structminio_1_1s3_1_1PutObjectArgs.html">PutObjectArgs</a> &amp;args, std::string &amp;upload_id, char *buf)</td></tr>
<tr class="separator:a6adb04c6185045e495633a86cb5ee999"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a633beb8b3d35b14dffedee65d670d145"><td class="memItemLeft" align="right" valign="top"><a id="a633beb8b3d35b14dffedee65d670d145"></a>
<a class="el" href="structminio_1_1s3_1_1PutObjectResponse.html">PutObjectResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>PutObject</b> (<a class="el" href="structminio_1_1s3_1_1PutObjectArgs.html">PutObjectArgs</a> args)</td></tr>
<tr class="separator:a633beb8b3d35b14dffedee65d670d145"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdfa169e3ab6e95a8e7eb6ae0941f7e3"><td class="memItemLeft" align="right" valign="top"><a id="abdfa169e3ab6e95a8e7eb6ae0941f7e3"></a>
<a class="el" href="structminio_1_1s3_1_1PutObjectResponse.html">CopyObjectResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>CopyObject</b> (<a class="el" href="structminio_1_1s3_1_1CopyObjectArgs.html">CopyObjectArgs</a> args)</td></tr>
<tr class="separator:abdfa169e3ab6e95a8e7eb6ae0941f7e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab53b64aa0a11f72a9e20baa629392db9"><td class="memItemLeft" align="right" valign="top"><a id="ab53b64aa0a11f72a9e20baa629392db9"></a>
<a class="el" href="structminio_1_1s3_1_1StatObjectResponse.html">StatObjectResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>CalculatePartCount</b> (size_t &amp;part_count, std::list&lt; <a class="el" href="structminio_1_1s3_1_1ComposeSource.html">ComposeSource</a> &gt; sources)</td></tr>
<tr class="separator:ab53b64aa0a11f72a9e20baa629392db9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34a45dd58aacfc1bcc1d03f8dceeb39d"><td class="memItemLeft" align="right" valign="top"><a id="a34a45dd58aacfc1bcc1d03f8dceeb39d"></a>
<a class="el" href="structminio_1_1s3_1_1PutObjectResponse.html">ComposeObjectResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>ComposeObject</b> (<a class="el" href="structminio_1_1s3_1_1ComposeObjectArgs.html">ComposeObjectArgs</a> args, std::string &amp;upload_id)</td></tr>
<tr class="separator:a34a45dd58aacfc1bcc1d03f8dceeb39d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67d734aca268ef3146e36e61e27e40c0"><td class="memItemLeft" align="right" valign="top"><a id="a67d734aca268ef3146e36e61e27e40c0"></a>
<a class="el" href="structminio_1_1s3_1_1PutObjectResponse.html">ComposeObjectResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>ComposeObject</b> (<a class="el" href="structminio_1_1s3_1_1ComposeObjectArgs.html">ComposeObjectArgs</a> args)</td></tr>
<tr class="separator:a67d734aca268ef3146e36e61e27e40c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d5a59d4f2e8fc6893920abc5db3a191"><td class="memItemLeft" align="right" valign="top"><a id="a5d5a59d4f2e8fc6893920abc5db3a191"></a>
<a class="el" href="structminio_1_1s3_1_1PutObjectResponse.html">UploadObjectResponse</a>&#160;</td><td class="memItemRight" valign="bottom"><b>UploadObject</b> (<a class="el" href="structminio_1_1s3_1_1UploadObjectArgs.html">UploadObjectArgs</a> args)</td></tr>
<tr class="separator:a5d5a59d4f2e8fc6893920abc5db3a191"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Simple Storage Service (aka S3) client to perform bucket and object operations asynchronously. </p>
</div><hr/>The documentation for this class was generated from the following files:<ul>
<li>/home/bala/devel/github.com/minio/minio-cpp/include/<a class="el" href="client_8h_source.html">client.h</a></li>
<li>/home/bala/devel/github.com/minio/minio-cpp/src/client.cc</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

View File

@@ -0,0 +1,87 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>minio</b></li><li class="navelem"><b>s3</b></li><li class="navelem"><a class="el" href="classminio_1_1s3_1_1ListObjectsResult.html">ListObjectsResult</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">minio::s3::ListObjectsResult Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classminio_1_1s3_1_1ListObjectsResult.html">minio::s3::ListObjectsResult</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ListObjectsResult</b>(error::Error err) (defined in <a class="el" href="classminio_1_1s3_1_1ListObjectsResult.html">minio::s3::ListObjectsResult</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1ListObjectsResult.html">minio::s3::ListObjectsResult</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ListObjectsResult</b>(Client *client, ListObjectsArgs *args) (defined in <a class="el" href="classminio_1_1s3_1_1ListObjectsResult.html">minio::s3::ListObjectsResult</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1ListObjectsResult.html">minio::s3::ListObjectsResult</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator bool</b>() const (defined in <a class="el" href="classminio_1_1s3_1_1ListObjectsResult.html">minio::s3::ListObjectsResult</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1ListObjectsResult.html">minio::s3::ListObjectsResult</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>operator*</b>() const (defined in <a class="el" href="classminio_1_1s3_1_1ListObjectsResult.html">minio::s3::ListObjectsResult</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1ListObjectsResult.html">minio::s3::ListObjectsResult</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator++</b>() (defined in <a class="el" href="classminio_1_1s3_1_1ListObjectsResult.html">minio::s3::ListObjectsResult</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1ListObjectsResult.html">minio::s3::ListObjectsResult</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>operator++</b>(int) (defined in <a class="el" href="classminio_1_1s3_1_1ListObjectsResult.html">minio::s3::ListObjectsResult</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1ListObjectsResult.html">minio::s3::ListObjectsResult</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

View File

@@ -0,0 +1,107 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: minio::s3::ListObjectsResult Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>minio</b></li><li class="navelem"><b>s3</b></li><li class="navelem"><a class="el" href="classminio_1_1s3_1_1ListObjectsResult.html">ListObjectsResult</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classminio_1_1s3_1_1ListObjectsResult-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">minio::s3::ListObjectsResult Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:af032ac441f20e4b5d37ae4b7a887055c"><td class="memItemLeft" align="right" valign="top"><a id="af032ac441f20e4b5d37ae4b7a887055c"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>ListObjectsResult</b> (<a class="el" href="classminio_1_1error_1_1Error.html">error::Error</a> err)</td></tr>
<tr class="separator:af032ac441f20e4b5d37ae4b7a887055c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70f0c28fad1436398d2d0c30b5102e39"><td class="memItemLeft" align="right" valign="top"><a id="a70f0c28fad1436398d2d0c30b5102e39"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>ListObjectsResult</b> (<a class="el" href="classminio_1_1s3_1_1Client.html">Client</a> *client, <a class="el" href="structminio_1_1s3_1_1ListObjectsArgs.html">ListObjectsArgs</a> *args)</td></tr>
<tr class="separator:a70f0c28fad1436398d2d0c30b5102e39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02af230c2067e4dcdcca1a356cab2b79"><td class="memItemLeft" align="right" valign="top"><a id="a02af230c2067e4dcdcca1a356cab2b79"></a>
<a class="el" href="structminio_1_1s3_1_1Item.html">Item</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator*</b> () const</td></tr>
<tr class="separator:a02af230c2067e4dcdcca1a356cab2b79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d3ed28e9fd697b66fd9da8fd67fc80b"><td class="memItemLeft" align="right" valign="top"><a id="a6d3ed28e9fd697b66fd9da8fd67fc80b"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>operator bool</b> () const</td></tr>
<tr class="separator:a6d3ed28e9fd697b66fd9da8fd67fc80b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2be514250c9cccb88aa5e79446abd586"><td class="memItemLeft" align="right" valign="top"><a id="a2be514250c9cccb88aa5e79446abd586"></a>
<a class="el" href="classminio_1_1s3_1_1ListObjectsResult.html">ListObjectsResult</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator++</b> ()</td></tr>
<tr class="separator:a2be514250c9cccb88aa5e79446abd586"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1cd70e9bc9f3f6fa534104b4ae387fa"><td class="memItemLeft" align="right" valign="top"><a id="af1cd70e9bc9f3f6fa534104b4ae387fa"></a>
<a class="el" href="classminio_1_1s3_1_1ListObjectsResult.html">ListObjectsResult</a>&#160;</td><td class="memItemRight" valign="bottom"><b>operator++</b> (int)</td></tr>
<tr class="separator:af1cd70e9bc9f3f6fa534104b4ae387fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>/home/bala/devel/github.com/minio/minio-cpp/include/<a class="el" href="client_8h_source.html">client.h</a></li>
<li>/home/bala/devel/github.com/minio/minio-cpp/src/client.cc</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

View File

@@ -0,0 +1,87 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>minio</b></li><li class="navelem"><b>s3</b></li><li class="navelem"><a class="el" href="classminio_1_1s3_1_1Sse.html">Sse</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">minio::s3::Sse Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>CopyHeaders</b>() (defined in <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>empty_</b> (defined in <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Headers</b>()=0 (defined in <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Sse</b>() (defined in <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>TlsRequired</b>() (defined in <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~Sse</b>() (defined in <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

View File

@@ -0,0 +1,115 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: minio::s3::Sse Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>minio</b></li><li class="navelem"><b>s3</b></li><li class="navelem"><a class="el" href="classminio_1_1s3_1_1Sse.html">Sse</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="classminio_1_1s3_1_1Sse-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">minio::s3::Sse Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for minio::s3::Sse:</div>
<div class="dyncontent">
<div class="center">
<img src="classminio_1_1s3_1_1Sse.png" usemap="#minio::s3::Sse_map" alt=""/>
<map id="minio::s3::Sse_map" name="minio::s3::Sse_map">
<area href="classminio_1_1s3_1_1SseCustomerKey.html" alt="minio::s3::SseCustomerKey" shape="rect" coords="0,56,162,80"/>
<area href="classminio_1_1s3_1_1SseKms.html" alt="minio::s3::SseKms" shape="rect" coords="172,56,334,80"/>
<area href="classminio_1_1s3_1_1SseS3.html" alt="minio::s3::SseS3" shape="rect" coords="344,56,506,80"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:accf1f41b449b1c60f9ecd5ca411e1583"><td class="memItemLeft" align="right" valign="top"><a id="accf1f41b449b1c60f9ecd5ca411e1583"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>TlsRequired</b> ()</td></tr>
<tr class="separator:accf1f41b449b1c60f9ecd5ca411e1583"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ef63bde301078635c9f686da4f1fd25"><td class="memItemLeft" align="right" valign="top"><a id="a2ef63bde301078635c9f686da4f1fd25"></a>
<a class="el" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a>&#160;</td><td class="memItemRight" valign="bottom"><b>CopyHeaders</b> ()</td></tr>
<tr class="separator:a2ef63bde301078635c9f686da4f1fd25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4e8a61ddf033e81e8eaf59aaebd2e5d"><td class="memItemLeft" align="right" valign="top"><a id="af4e8a61ddf033e81e8eaf59aaebd2e5d"></a>
virtual <a class="el" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Headers</b> ()=0</td></tr>
<tr class="separator:af4e8a61ddf033e81e8eaf59aaebd2e5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a64dd680427fd75a4498a939fa4ff27ba"><td class="memItemLeft" align="right" valign="top"><a id="a64dd680427fd75a4498a939fa4ff27ba"></a>
<a class="el" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a>&#160;</td><td class="memItemRight" valign="bottom"><b>empty_</b></td></tr>
<tr class="separator:a64dd680427fd75a4498a939fa4ff27ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>/home/bala/devel/github.com/minio/minio-cpp/include/<a class="el" href="sse_8h_source.html">sse.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

BIN
classminio_1_1s3_1_1Sse.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,88 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>minio</b></li><li class="navelem"><b>s3</b></li><li class="navelem"><a class="el" href="classminio_1_1s3_1_1SseCustomerKey.html">SseCustomerKey</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">minio::s3::SseCustomerKey Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classminio_1_1s3_1_1SseCustomerKey.html">minio::s3::SseCustomerKey</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>CopyHeaders</b>() (defined in <a class="el" href="classminio_1_1s3_1_1SseCustomerKey.html">minio::s3::SseCustomerKey</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1SseCustomerKey.html">minio::s3::SseCustomerKey</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>empty_</b> (defined in <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Headers</b>() (defined in <a class="el" href="classminio_1_1s3_1_1SseCustomerKey.html">minio::s3::SseCustomerKey</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1SseCustomerKey.html">minio::s3::SseCustomerKey</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Sse</b>() (defined in <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SseCustomerKey</b>(std::string_view key) (defined in <a class="el" href="classminio_1_1s3_1_1SseCustomerKey.html">minio::s3::SseCustomerKey</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1SseCustomerKey.html">minio::s3::SseCustomerKey</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>TlsRequired</b>() (defined in <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Sse</b>() (defined in <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

View File

@@ -0,0 +1,121 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: minio::s3::SseCustomerKey Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>minio</b></li><li class="navelem"><b>s3</b></li><li class="navelem"><a class="el" href="classminio_1_1s3_1_1SseCustomerKey.html">SseCustomerKey</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classminio_1_1s3_1_1SseCustomerKey-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">minio::s3::SseCustomerKey Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for minio::s3::SseCustomerKey:</div>
<div class="dyncontent">
<div class="center">
<img src="classminio_1_1s3_1_1SseCustomerKey.png" usemap="#minio::s3::SseCustomerKey_map" alt=""/>
<map id="minio::s3::SseCustomerKey_map" name="minio::s3::SseCustomerKey_map">
<area href="classminio_1_1s3_1_1Sse.html" alt="minio::s3::Sse" shape="rect" coords="0,0,162,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ada9ba72c6fd8f1579ffff9f832057c5b"><td class="memItemLeft" align="right" valign="top"><a id="ada9ba72c6fd8f1579ffff9f832057c5b"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>SseCustomerKey</b> (std::string_view key)</td></tr>
<tr class="separator:ada9ba72c6fd8f1579ffff9f832057c5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93fe927578c35f014ce65cce448ddcb2"><td class="memItemLeft" align="right" valign="top"><a id="a93fe927578c35f014ce65cce448ddcb2"></a>
<a class="el" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Headers</b> ()</td></tr>
<tr class="separator:a93fe927578c35f014ce65cce448ddcb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5a06d7ae3760f0b5d0cb7c2dd4b3edf"><td class="memItemLeft" align="right" valign="top"><a id="af5a06d7ae3760f0b5d0cb7c2dd4b3edf"></a>
<a class="el" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a>&#160;</td><td class="memItemRight" valign="bottom"><b>CopyHeaders</b> ()</td></tr>
<tr class="separator:af5a06d7ae3760f0b5d0cb7c2dd4b3edf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classminio_1_1s3_1_1Sse"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classminio_1_1s3_1_1Sse')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></td></tr>
<tr class="memitem:accf1f41b449b1c60f9ecd5ca411e1583 inherit pub_methods_classminio_1_1s3_1_1Sse"><td class="memItemLeft" align="right" valign="top"><a id="accf1f41b449b1c60f9ecd5ca411e1583"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>TlsRequired</b> ()</td></tr>
<tr class="separator:accf1f41b449b1c60f9ecd5ca411e1583 inherit pub_methods_classminio_1_1s3_1_1Sse"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ef63bde301078635c9f686da4f1fd25 inherit pub_methods_classminio_1_1s3_1_1Sse"><td class="memItemLeft" align="right" valign="top"><a id="a2ef63bde301078635c9f686da4f1fd25"></a>
<a class="el" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a>&#160;</td><td class="memItemRight" valign="bottom"><b>CopyHeaders</b> ()</td></tr>
<tr class="separator:a2ef63bde301078635c9f686da4f1fd25 inherit pub_methods_classminio_1_1s3_1_1Sse"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_attribs_classminio_1_1s3_1_1Sse"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classminio_1_1s3_1_1Sse')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></td></tr>
<tr class="memitem:a64dd680427fd75a4498a939fa4ff27ba inherit pub_attribs_classminio_1_1s3_1_1Sse"><td class="memItemLeft" align="right" valign="top"><a id="a64dd680427fd75a4498a939fa4ff27ba"></a>
<a class="el" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a>&#160;</td><td class="memItemRight" valign="bottom"><b>empty_</b></td></tr>
<tr class="separator:a64dd680427fd75a4498a939fa4ff27ba inherit pub_attribs_classminio_1_1s3_1_1Sse"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>/home/bala/devel/github.com/minio/minio-cpp/include/<a class="el" href="sse_8h_source.html">sse.h</a></li>
<li>/home/bala/devel/github.com/minio/minio-cpp/src/sse.cc</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 623 B

View File

@@ -0,0 +1,88 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>minio</b></li><li class="navelem"><b>s3</b></li><li class="navelem"><a class="el" href="classminio_1_1s3_1_1SseKms.html">SseKms</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">minio::s3::SseKms Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classminio_1_1s3_1_1SseKms.html">minio::s3::SseKms</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>CopyHeaders</b>() (defined in <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>empty_</b> (defined in <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Headers</b>() (defined in <a class="el" href="classminio_1_1s3_1_1SseKms.html">minio::s3::SseKms</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1SseKms.html">minio::s3::SseKms</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Sse</b>() (defined in <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SseKms</b>(std::string_view key, std::string_view context) (defined in <a class="el" href="classminio_1_1s3_1_1SseKms.html">minio::s3::SseKms</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1SseKms.html">minio::s3::SseKms</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>TlsRequired</b>() (defined in <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Sse</b>() (defined in <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

View File

@@ -0,0 +1,118 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: minio::s3::SseKms Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>minio</b></li><li class="navelem"><b>s3</b></li><li class="navelem"><a class="el" href="classminio_1_1s3_1_1SseKms.html">SseKms</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classminio_1_1s3_1_1SseKms-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">minio::s3::SseKms Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for minio::s3::SseKms:</div>
<div class="dyncontent">
<div class="center">
<img src="classminio_1_1s3_1_1SseKms.png" usemap="#minio::s3::SseKms_map" alt=""/>
<map id="minio::s3::SseKms_map" name="minio::s3::SseKms_map">
<area href="classminio_1_1s3_1_1Sse.html" alt="minio::s3::Sse" shape="rect" coords="0,0,110,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aed9cd61ff80da25df5c9d9fd32719717"><td class="memItemLeft" align="right" valign="top"><a id="aed9cd61ff80da25df5c9d9fd32719717"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>SseKms</b> (std::string_view key, std::string_view context)</td></tr>
<tr class="separator:aed9cd61ff80da25df5c9d9fd32719717"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0627235134ce8bf6633fbf59fa0a367f"><td class="memItemLeft" align="right" valign="top"><a id="a0627235134ce8bf6633fbf59fa0a367f"></a>
<a class="el" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Headers</b> ()</td></tr>
<tr class="separator:a0627235134ce8bf6633fbf59fa0a367f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classminio_1_1s3_1_1Sse"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classminio_1_1s3_1_1Sse')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></td></tr>
<tr class="memitem:accf1f41b449b1c60f9ecd5ca411e1583 inherit pub_methods_classminio_1_1s3_1_1Sse"><td class="memItemLeft" align="right" valign="top"><a id="accf1f41b449b1c60f9ecd5ca411e1583"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>TlsRequired</b> ()</td></tr>
<tr class="separator:accf1f41b449b1c60f9ecd5ca411e1583 inherit pub_methods_classminio_1_1s3_1_1Sse"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ef63bde301078635c9f686da4f1fd25 inherit pub_methods_classminio_1_1s3_1_1Sse"><td class="memItemLeft" align="right" valign="top"><a id="a2ef63bde301078635c9f686da4f1fd25"></a>
<a class="el" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a>&#160;</td><td class="memItemRight" valign="bottom"><b>CopyHeaders</b> ()</td></tr>
<tr class="separator:a2ef63bde301078635c9f686da4f1fd25 inherit pub_methods_classminio_1_1s3_1_1Sse"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_attribs_classminio_1_1s3_1_1Sse"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classminio_1_1s3_1_1Sse')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></td></tr>
<tr class="memitem:a64dd680427fd75a4498a939fa4ff27ba inherit pub_attribs_classminio_1_1s3_1_1Sse"><td class="memItemLeft" align="right" valign="top"><a id="a64dd680427fd75a4498a939fa4ff27ba"></a>
<a class="el" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a>&#160;</td><td class="memItemRight" valign="bottom"><b>empty_</b></td></tr>
<tr class="separator:a64dd680427fd75a4498a939fa4ff27ba inherit pub_attribs_classminio_1_1s3_1_1Sse"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>/home/bala/devel/github.com/minio/minio-cpp/include/<a class="el" href="sse_8h_source.html">sse.h</a></li>
<li>/home/bala/devel/github.com/minio/minio-cpp/src/sse.cc</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 508 B

View File

@@ -0,0 +1,88 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>minio</b></li><li class="navelem"><b>s3</b></li><li class="navelem"><a class="el" href="classminio_1_1s3_1_1SseS3.html">SseS3</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">minio::s3::SseS3 Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classminio_1_1s3_1_1SseS3.html">minio::s3::SseS3</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>CopyHeaders</b>() (defined in <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>empty_</b> (defined in <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Headers</b>() (defined in <a class="el" href="classminio_1_1s3_1_1SseS3.html">minio::s3::SseS3</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1SseS3.html">minio::s3::SseS3</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Sse</b>() (defined in <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SseS3</b>() (defined in <a class="el" href="classminio_1_1s3_1_1SseS3.html">minio::s3::SseS3</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1SseS3.html">minio::s3::SseS3</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>TlsRequired</b>() (defined in <a class="el" href="classminio_1_1s3_1_1SseS3.html">minio::s3::SseS3</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1SseS3.html">minio::s3::SseS3</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Sse</b>() (defined in <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a>)</td><td class="entry"><a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

View File

@@ -0,0 +1,118 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: minio::s3::SseS3 Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>minio</b></li><li class="navelem"><b>s3</b></li><li class="navelem"><a class="el" href="classminio_1_1s3_1_1SseS3.html">SseS3</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classminio_1_1s3_1_1SseS3-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">minio::s3::SseS3 Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for minio::s3::SseS3:</div>
<div class="dyncontent">
<div class="center">
<img src="classminio_1_1s3_1_1SseS3.png" usemap="#minio::s3::SseS3_map" alt=""/>
<map id="minio::s3::SseS3_map" name="minio::s3::SseS3_map">
<area href="classminio_1_1s3_1_1Sse.html" alt="minio::s3::Sse" shape="rect" coords="0,0,102,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a28a5e400c4d10112c1e767433064e794"><td class="memItemLeft" align="right" valign="top"><a id="a28a5e400c4d10112c1e767433064e794"></a>
<a class="el" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Headers</b> ()</td></tr>
<tr class="separator:a28a5e400c4d10112c1e767433064e794"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3819f53779c2b05f19eece451cabcce"><td class="memItemLeft" align="right" valign="top"><a id="ad3819f53779c2b05f19eece451cabcce"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>TlsRequired</b> ()</td></tr>
<tr class="separator:ad3819f53779c2b05f19eece451cabcce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classminio_1_1s3_1_1Sse"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classminio_1_1s3_1_1Sse')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></td></tr>
<tr class="memitem:accf1f41b449b1c60f9ecd5ca411e1583 inherit pub_methods_classminio_1_1s3_1_1Sse"><td class="memItemLeft" align="right" valign="top"><a id="accf1f41b449b1c60f9ecd5ca411e1583"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>TlsRequired</b> ()</td></tr>
<tr class="separator:accf1f41b449b1c60f9ecd5ca411e1583 inherit pub_methods_classminio_1_1s3_1_1Sse"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ef63bde301078635c9f686da4f1fd25 inherit pub_methods_classminio_1_1s3_1_1Sse"><td class="memItemLeft" align="right" valign="top"><a id="a2ef63bde301078635c9f686da4f1fd25"></a>
<a class="el" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a>&#160;</td><td class="memItemRight" valign="bottom"><b>CopyHeaders</b> ()</td></tr>
<tr class="separator:a2ef63bde301078635c9f686da4f1fd25 inherit pub_methods_classminio_1_1s3_1_1Sse"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_attribs_classminio_1_1s3_1_1Sse"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classminio_1_1s3_1_1Sse')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="classminio_1_1s3_1_1Sse.html">minio::s3::Sse</a></td></tr>
<tr class="memitem:a64dd680427fd75a4498a939fa4ff27ba inherit pub_attribs_classminio_1_1s3_1_1Sse"><td class="memItemLeft" align="right" valign="top"><a id="a64dd680427fd75a4498a939fa4ff27ba"></a>
<a class="el" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a>&#160;</td><td class="memItemRight" valign="bottom"><b>empty_</b></td></tr>
<tr class="separator:a64dd680427fd75a4498a939fa4ff27ba inherit pub_attribs_classminio_1_1s3_1_1Sse"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>/home/bala/devel/github.com/minio/minio-cpp/include/<a class="el" href="sse_8h_source.html">sse.h</a></li>
<li>/home/bala/devel/github.com/minio/minio-cpp/src/sse.cc</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 B

View File

@@ -0,0 +1,94 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>minio</b></li><li class="navelem"><b>utils</b></li><li class="navelem"><a class="el" href="classminio_1_1utils_1_1Multimap.html">Multimap</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">minio::utils::Multimap Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Add</b>(std::string key, std::string value) (defined in <a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a>)</td><td class="entry"><a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>AddAll</b>(const Multimap &amp;headers) (defined in <a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a>)</td><td class="entry"><a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Contains</b>(std::string_view key) (defined in <a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a>)</td><td class="entry"><a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Get</b>(std::string_view key) (defined in <a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a>)</td><td class="entry"><a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GetCanonicalHeaders</b>(std::string &amp;signed_headers, std::string &amp;canonical_headers) (defined in <a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a>)</td><td class="entry"><a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>GetCanonicalQueryString</b>() (defined in <a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a>)</td><td class="entry"><a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GetFront</b>(std::string_view key) (defined in <a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a>)</td><td class="entry"><a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Keys</b>() (defined in <a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a>)</td><td class="entry"><a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Multimap</b>() (defined in <a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a>)</td><td class="entry"><a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Multimap</b>(const Multimap &amp;headers) (defined in <a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a>)</td><td class="entry"><a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator bool</b>() const (defined in <a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a>)</td><td class="entry"><a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ToHttpHeaders</b>() (defined in <a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a>)</td><td class="entry"><a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ToQueryString</b>() (defined in <a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a>)</td><td class="entry"><a class="el" href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

View File

@@ -0,0 +1,129 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: minio::utils::Multimap Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>minio</b></li><li class="navelem"><b>utils</b></li><li class="navelem"><a class="el" href="classminio_1_1utils_1_1Multimap.html">Multimap</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classminio_1_1utils_1_1Multimap-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">minio::utils::Multimap Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="utils_8h_source.html">utils.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa5335f7e65203ee38877b37d53e48bf9"><td class="memItemLeft" align="right" valign="top"><a id="aa5335f7e65203ee38877b37d53e48bf9"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>Multimap</b> (const <a class="el" href="classminio_1_1utils_1_1Multimap.html">Multimap</a> &amp;headers)</td></tr>
<tr class="separator:aa5335f7e65203ee38877b37d53e48bf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9149fdcc18bf8c89deaeb61253dc8795"><td class="memItemLeft" align="right" valign="top"><a id="a9149fdcc18bf8c89deaeb61253dc8795"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Add</b> (std::string key, std::string value)</td></tr>
<tr class="separator:a9149fdcc18bf8c89deaeb61253dc8795"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae920fe58df401639fa1feca2e260ef6b"><td class="memItemLeft" align="right" valign="top"><a id="ae920fe58df401639fa1feca2e260ef6b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>AddAll</b> (const <a class="el" href="classminio_1_1utils_1_1Multimap.html">Multimap</a> &amp;headers)</td></tr>
<tr class="separator:ae920fe58df401639fa1feca2e260ef6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae391c55b25795ab560bbbc628bb118b5"><td class="memItemLeft" align="right" valign="top"><a id="ae391c55b25795ab560bbbc628bb118b5"></a>
std::list&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ToHttpHeaders</b> ()</td></tr>
<tr class="separator:ae391c55b25795ab560bbbc628bb118b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18e1e13210fd93810861551348c54bd3"><td class="memItemLeft" align="right" valign="top"><a id="a18e1e13210fd93810861551348c54bd3"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>ToQueryString</b> ()</td></tr>
<tr class="separator:a18e1e13210fd93810861551348c54bd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab24eb6ee25d7b7e417c4979b4e9526b3"><td class="memItemLeft" align="right" valign="top"><a id="ab24eb6ee25d7b7e417c4979b4e9526b3"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>operator bool</b> () const</td></tr>
<tr class="separator:ab24eb6ee25d7b7e417c4979b4e9526b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff9a7c43f5475cc38099659d14327090"><td class="memItemLeft" align="right" valign="top"><a id="aff9a7c43f5475cc38099659d14327090"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>Contains</b> (std::string_view key)</td></tr>
<tr class="separator:aff9a7c43f5475cc38099659d14327090"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab470cc45c1002d03eed33c8ac5c0cf4d"><td class="memItemLeft" align="right" valign="top"><a id="ab470cc45c1002d03eed33c8ac5c0cf4d"></a>
std::list&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Get</b> (std::string_view key)</td></tr>
<tr class="separator:ab470cc45c1002d03eed33c8ac5c0cf4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0beb6cf2dbd1c679e1d933addc8a594f"><td class="memItemLeft" align="right" valign="top"><a id="a0beb6cf2dbd1c679e1d933addc8a594f"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>GetFront</b> (std::string_view key)</td></tr>
<tr class="separator:a0beb6cf2dbd1c679e1d933addc8a594f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1732349b79c5f3b4eb3580a953e8689"><td class="memItemLeft" align="right" valign="top"><a id="ae1732349b79c5f3b4eb3580a953e8689"></a>
std::list&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Keys</b> ()</td></tr>
<tr class="separator:ae1732349b79c5f3b4eb3580a953e8689"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f0d1d9daa99a85d1879a576b73c2fcf"><td class="memItemLeft" align="right" valign="top"><a id="a3f0d1d9daa99a85d1879a576b73c2fcf"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>GetCanonicalHeaders</b> (std::string &amp;signed_headers, std::string &amp;canonical_headers)</td></tr>
<tr class="separator:a3f0d1d9daa99a85d1879a576b73c2fcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfbcb6de02a34ec208313ab0f4efdc07"><td class="memItemLeft" align="right" valign="top"><a id="adfbcb6de02a34ec208313ab0f4efdc07"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>GetCanonicalQueryString</b> ()</td></tr>
<tr class="separator:adfbcb6de02a34ec208313ab0f4efdc07"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="classminio_1_1utils_1_1Multimap.html">Multimap</a> represents dictionary of keys and their multiple values. </p>
</div><hr/>The documentation for this class was generated from the following files:<ul>
<li>/home/bala/devel/github.com/minio/minio-cpp/include/<a class="el" href="utils_8h_source.html">utils.h</a></li>
<li>/home/bala/devel/github.com/minio/minio-cpp/src/utils.cc</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

View File

@@ -0,0 +1,92 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>minio</b></li><li class="navelem"><b>utils</b></li><li class="navelem"><a class="el" href="classminio_1_1utils_1_1Time.html">Time</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">minio::utils::Time Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>FromHttpHeaderValue</b>(const char *value) (defined in <a class="el" href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a>)</td><td class="entry"><a class="el" href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>FromISO8601UTC</b>(const char *value) (defined in <a class="el" href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a>)</td><td class="entry"><a class="el" href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Now</b>() (defined in <a class="el" href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a>)</td><td class="entry"><a class="el" href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>operator bool</b>() const (defined in <a class="el" href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a>)</td><td class="entry"><a class="el" href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Time</b>() (defined in <a class="el" href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a>)</td><td class="entry"><a class="el" href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Time</b>(std::time_t tv_sec, suseconds_t tv_usec, bool utc) (defined in <a class="el" href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a>)</td><td class="entry"><a class="el" href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ToAmzDate</b>() (defined in <a class="el" href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a>)</td><td class="entry"><a class="el" href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ToHttpHeaderValue</b>() (defined in <a class="el" href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a>)</td><td class="entry"><a class="el" href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ToISO8601UTC</b>() (defined in <a class="el" href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a>)</td><td class="entry"><a class="el" href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ToSignerDate</b>() (defined in <a class="el" href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a>)</td><td class="entry"><a class="el" href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ToUTC</b>() (defined in <a class="el" href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a>)</td><td class="entry"><a class="el" href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

View File

@@ -0,0 +1,127 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: minio::utils::Time Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>minio</b></li><li class="navelem"><b>utils</b></li><li class="navelem"><a class="el" href="classminio_1_1utils_1_1Time.html">Time</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classminio_1_1utils_1_1Time-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">minio::utils::Time Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="utils_8h_source.html">utils.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aec92baa420d373eb9607475c48423eb9"><td class="memItemLeft" align="right" valign="top"><a id="aec92baa420d373eb9607475c48423eb9"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>Time</b> (std::time_t tv_sec, suseconds_t tv_usec, bool utc)</td></tr>
<tr class="separator:aec92baa420d373eb9607475c48423eb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7066211c963a055365c36347a261ae6"><td class="memItemLeft" align="right" valign="top"><a id="aa7066211c963a055365c36347a261ae6"></a>
std::tm *&#160;</td><td class="memItemRight" valign="bottom"><b>ToUTC</b> ()</td></tr>
<tr class="separator:aa7066211c963a055365c36347a261ae6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa8296065a9b56e1611ba7fc83f0d0b1"><td class="memItemLeft" align="right" valign="top"><a id="aaa8296065a9b56e1611ba7fc83f0d0b1"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>ToSignerDate</b> ()</td></tr>
<tr class="separator:aaa8296065a9b56e1611ba7fc83f0d0b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac2a638b21671c4f303e6e03d40eb484"><td class="memItemLeft" align="right" valign="top"><a id="aac2a638b21671c4f303e6e03d40eb484"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>ToAmzDate</b> ()</td></tr>
<tr class="separator:aac2a638b21671c4f303e6e03d40eb484"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a830b349db6856b7a341556d2eeb5e5b5"><td class="memItemLeft" align="right" valign="top"><a id="a830b349db6856b7a341556d2eeb5e5b5"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>ToHttpHeaderValue</b> ()</td></tr>
<tr class="separator:a830b349db6856b7a341556d2eeb5e5b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e51664ecb7dbd4cda4858675076ca92"><td class="memItemLeft" align="right" valign="top"><a id="a3e51664ecb7dbd4cda4858675076ca92"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>ToISO8601UTC</b> ()</td></tr>
<tr class="separator:a3e51664ecb7dbd4cda4858675076ca92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a710e9a85b08259eaf6a307eb653bac07"><td class="memItemLeft" align="right" valign="top"><a id="a710e9a85b08259eaf6a307eb653bac07"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>operator bool</b> () const</td></tr>
<tr class="separator:a710e9a85b08259eaf6a307eb653bac07"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a3609021b373b9301a995a3a53b930409"><td class="memItemLeft" align="right" valign="top"><a id="a3609021b373b9301a995a3a53b930409"></a>
static <a class="el" href="classminio_1_1utils_1_1Time.html">Time</a>&#160;</td><td class="memItemRight" valign="bottom"><b>FromHttpHeaderValue</b> (const char *value)</td></tr>
<tr class="separator:a3609021b373b9301a995a3a53b930409"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c3541efe8837f44b027300d31128005"><td class="memItemLeft" align="right" valign="top"><a id="a5c3541efe8837f44b027300d31128005"></a>
static <a class="el" href="classminio_1_1utils_1_1Time.html">Time</a>&#160;</td><td class="memItemRight" valign="bottom"><b>FromISO8601UTC</b> (const char *value)</td></tr>
<tr class="separator:a5c3541efe8837f44b027300d31128005"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32ba34325aa898b750b5f5b102c67d5d"><td class="memItemLeft" align="right" valign="top"><a id="a32ba34325aa898b750b5f5b102c67d5d"></a>
static <a class="el" href="classminio_1_1utils_1_1Time.html">Time</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Now</b> ()</td></tr>
<tr class="separator:a32ba34325aa898b750b5f5b102c67d5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="classminio_1_1utils_1_1Time.html">Time</a> represents date and time with timezone. </p>
</div><hr/>The documentation for this class was generated from the following files:<ul>
<li>/home/bala/devel/github.com/minio/minio-cpp/include/<a class="el" href="utils_8h_source.html">utils.h</a></li>
<li>/home/bala/devel/github.com/minio/minio-cpp/src/utils.cc</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

247
client_8h_source.html Normal file
View File

@@ -0,0 +1,247 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: /home/bala/devel/github.com/minio/minio-cpp/include/client.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">client.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// MinIO C++ Library for Amazon S3 Compatible Cloud Storage</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Copyright 2022 MinIO, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// you may not use this file except in compliance with the License.</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// You may obtain a copy of the License at</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// http://www.apache.org/licenses/LICENSE-2.0</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// limitations under the License.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; </div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#ifndef _MINIO_S3_CLIENT_H</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#define _MINIO_S3_CLIENT_H</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &lt;fstream&gt;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;args.h&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &quot;request-builder.h&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &quot;response.h&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="keyword">namespace </span>minio {</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="keyword">namespace </span>s3 {</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;utils::Multimap GetCommonListObjectsQueryParams(std::string delimiter,</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; std::string encoding_type,</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> max_keys,</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; std::string prefix);</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; </div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keyword">class </span>ListObjectsResult;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; </div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="classminio_1_1s3_1_1Client.html"> 38</a></span>&#160;<span class="keyword">class </span><a class="code" href="classminio_1_1s3_1_1Client.html">Client</a> {</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="structminio_1_1http_1_1BaseUrl.html">http::BaseUrl</a>&amp; base_url_;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="classminio_1_1creds_1_1Provider.html">creds::Provider</a>* provider_ = NULL;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; std::map&lt;std::string, std::string&gt; region_map_;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordtype">bool</span> debug_ = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordtype">bool</span> ignore_cert_check_ = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="classminio_1_1s3_1_1Client.html">Client</a>(<a class="code" href="structminio_1_1http_1_1BaseUrl.html">http::BaseUrl</a>&amp; base_url, <a class="code" href="classminio_1_1creds_1_1Provider.html">creds::Provider</a>* provider = NULL);</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; </div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordtype">void</span> Debug(<span class="keywordtype">bool</span> flag) { debug_ = flag; }</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; </div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordtype">void</span> IgnoreCertCheck(<span class="keywordtype">bool</span> flag) { ignore_cert_check_ = flag; }</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; </div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordtype">void</span> HandleRedirectResponse(std::string&amp; code, std::string&amp; message,</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordtype">int</span> status_code, http::Method method,</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a> headers,</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; std::string_view bucket_name, <span class="keywordtype">bool</span> retry = <span class="keyword">false</span>);</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a> GetErrorResponse(<a class="code" href="structminio_1_1http_1_1Response.html">http::Response</a> resp, std::string_view resource,</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; http::Method method, std::string_view bucket_name,</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; std::string_view object_name);</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a> execute(<a class="code" href="structminio_1_1s3_1_1RequestBuilder.html">RequestBuilder</a>&amp; builder);</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a> Execute(<a class="code" href="structminio_1_1s3_1_1RequestBuilder.html">RequestBuilder</a>&amp; builder);</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; </div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="comment">// S3 APIs</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="structminio_1_1s3_1_1ListObjectsResponse.html">ListObjectsResponse</a> ListObjectsV1(<a class="code" href="structminio_1_1s3_1_1ListObjectsV1Args.html">ListObjectsV1Args</a> args);</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="structminio_1_1s3_1_1ListObjectsResponse.html">ListObjectsResponse</a> ListObjectsV2(<a class="code" href="structminio_1_1s3_1_1ListObjectsV2Args.html">ListObjectsV2Args</a> args);</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="structminio_1_1s3_1_1ListObjectsResponse.html">ListObjectsResponse</a> ListObjectVersions(<a class="code" href="structminio_1_1s3_1_1ListObjectVersionsArgs.html">ListObjectVersionsArgs</a> args);</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; </div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="comment">// Bucket operations</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="structminio_1_1s3_1_1GetRegionResponse.html">GetRegionResponse</a> GetRegion(std::string_view bucket_name,</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; std::string_view region = <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <a class="code" href="structminio_1_1s3_1_1Response.html">MakeBucketResponse</a> MakeBucket(<a class="code" href="structminio_1_1s3_1_1MakeBucketArgs.html">MakeBucketArgs</a> args);</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="structminio_1_1s3_1_1ListBucketsResponse.html">ListBucketsResponse</a> ListBuckets(<a class="code" href="structminio_1_1s3_1_1BaseArgs.html">ListBucketsArgs</a> args);</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="structminio_1_1s3_1_1ListBucketsResponse.html">ListBucketsResponse</a> ListBuckets();</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="structminio_1_1s3_1_1BucketExistsResponse.html">BucketExistsResponse</a> BucketExists(<a class="code" href="structminio_1_1s3_1_1BucketArgs.html">BucketExistsArgs</a> args);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <a class="code" href="structminio_1_1s3_1_1Response.html">RemoveBucketResponse</a> RemoveBucket(<a class="code" href="structminio_1_1s3_1_1BucketArgs.html">RemoveBucketArgs</a> args);</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; </div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="comment">// Object operations</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="code" href="structminio_1_1s3_1_1Response.html">AbortMultipartUploadResponse</a> AbortMultipartUpload(</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="structminio_1_1s3_1_1AbortMultipartUploadArgs.html">AbortMultipartUploadArgs</a> args);</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="structminio_1_1s3_1_1CompleteMultipartUploadResponse.html">CompleteMultipartUploadResponse</a> CompleteMultipartUpload(</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="structminio_1_1s3_1_1CompleteMultipartUploadArgs.html">CompleteMultipartUploadArgs</a> args);</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <a class="code" href="structminio_1_1s3_1_1CreateMultipartUploadResponse.html">CreateMultipartUploadResponse</a> CreateMultipartUpload(</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="structminio_1_1s3_1_1CreateMultipartUploadArgs.html">CreateMultipartUploadArgs</a> args);</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="structminio_1_1s3_1_1PutObjectResponse.html">PutObjectResponse</a> PutObject(<a class="code" href="structminio_1_1s3_1_1PutObjectApiArgs.html">PutObjectApiArgs</a> args);</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="structminio_1_1s3_1_1PutObjectResponse.html">UploadPartResponse</a> UploadPart(<a class="code" href="structminio_1_1s3_1_1UploadPartArgs.html">UploadPartArgs</a> args);</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="structminio_1_1s3_1_1PutObjectResponse.html">UploadPartCopyResponse</a> UploadPartCopy(<a class="code" href="structminio_1_1s3_1_1UploadPartCopyArgs.html">UploadPartCopyArgs</a> args);</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="structminio_1_1s3_1_1StatObjectResponse.html">StatObjectResponse</a> StatObject(<a class="code" href="structminio_1_1s3_1_1ObjectConditionalReadArgs.html">StatObjectArgs</a> args);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="structminio_1_1s3_1_1Response.html">RemoveObjectResponse</a> RemoveObject(<a class="code" href="structminio_1_1s3_1_1ObjectVersionArgs.html">RemoveObjectArgs</a> args);</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="code" href="structminio_1_1s3_1_1Response.html">DownloadObjectResponse</a> DownloadObject(<a class="code" href="structminio_1_1s3_1_1DownloadObjectArgs.html">DownloadObjectArgs</a> args);</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="structminio_1_1s3_1_1Response.html">GetObjectResponse</a> GetObject(<a class="code" href="structminio_1_1s3_1_1GetObjectArgs.html">GetObjectArgs</a> args);</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="classminio_1_1s3_1_1ListObjectsResult.html">ListObjectsResult</a> ListObjects(<a class="code" href="structminio_1_1s3_1_1ListObjectsArgs.html">ListObjectsArgs</a> args);</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="structminio_1_1s3_1_1PutObjectResponse.html">PutObjectResponse</a> PutObject(<a class="code" href="structminio_1_1s3_1_1PutObjectArgs.html">PutObjectArgs</a>&amp; args, std::string&amp; upload_id,</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordtype">char</span>* buf);</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="structminio_1_1s3_1_1PutObjectResponse.html">PutObjectResponse</a> PutObject(<a class="code" href="structminio_1_1s3_1_1PutObjectArgs.html">PutObjectArgs</a> args);</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="structminio_1_1s3_1_1PutObjectResponse.html">CopyObjectResponse</a> CopyObject(<a class="code" href="structminio_1_1s3_1_1CopyObjectArgs.html">CopyObjectArgs</a> args);</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="structminio_1_1s3_1_1StatObjectResponse.html">StatObjectResponse</a> CalculatePartCount(<span class="keywordtype">size_t</span>&amp; part_count,</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; std::list&lt;ComposeSource&gt; sources);</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="structminio_1_1s3_1_1PutObjectResponse.html">ComposeObjectResponse</a> ComposeObject(<a class="code" href="structminio_1_1s3_1_1ComposeObjectArgs.html">ComposeObjectArgs</a> args,</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; std::string&amp; upload_id);</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <a class="code" href="structminio_1_1s3_1_1PutObjectResponse.html">ComposeObjectResponse</a> ComposeObject(<a class="code" href="structminio_1_1s3_1_1ComposeObjectArgs.html">ComposeObjectArgs</a> args);</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <a class="code" href="structminio_1_1s3_1_1PutObjectResponse.html">UploadObjectResponse</a> UploadObject(<a class="code" href="structminio_1_1s3_1_1UploadObjectArgs.html">UploadObjectArgs</a> args);</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;}; <span class="comment">// class Client</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; </div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classminio_1_1s3_1_1ListObjectsResult.html"> 104</a></span>&#160;<span class="keyword">class </span><a class="code" href="classminio_1_1s3_1_1ListObjectsResult.html">ListObjectsResult</a> {</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="classminio_1_1s3_1_1Client.html">Client</a>* client_ = NULL;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="code" href="structminio_1_1s3_1_1ListObjectsArgs.html">ListObjectsArgs</a>* args_ = NULL;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordtype">bool</span> failed_ = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="structminio_1_1s3_1_1ListObjectsResponse.html">ListObjectsResponse</a> resp_;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; std::list&lt;Item&gt;::iterator itr_;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; </div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordtype">void</span> Populate();</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; </div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="classminio_1_1s3_1_1ListObjectsResult.html">ListObjectsResult</a>(<a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> err);</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="classminio_1_1s3_1_1ListObjectsResult.html">ListObjectsResult</a>(<a class="code" href="classminio_1_1s3_1_1Client.html">Client</a>* client, <a class="code" href="structminio_1_1s3_1_1ListObjectsArgs.html">ListObjectsArgs</a>* args);</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="structminio_1_1s3_1_1Item.html">Item</a>&amp; operator*()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> *itr_; }</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keyword">operator</span> bool()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> itr_ != resp_.contents.end(); }</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="classminio_1_1s3_1_1ListObjectsResult.html">ListObjectsResult</a>&amp; operator++() {</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; itr_++;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">if</span> (!failed_ &amp;&amp; itr_ == resp_.contents.end() &amp;&amp; resp_.is_truncated) {</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; Populate();</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="classminio_1_1s3_1_1ListObjectsResult.html">ListObjectsResult</a> operator++(<span class="keywordtype">int</span>) {</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="classminio_1_1s3_1_1ListObjectsResult.html">ListObjectsResult</a> curr = *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; ++(*this);</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">return</span> curr;</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; }</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;}; <span class="comment">// class ListObjectsResult</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;} <span class="comment">// namespace s3</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;} <span class="comment">// namespace minio</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// #ifndef __MINIO_S3_CLIENT_H</span></div>
<div class="ttc" id="aclassminio_1_1creds_1_1Provider_html"><div class="ttname"><a href="classminio_1_1creds_1_1Provider.html">minio::creds::Provider</a></div><div class="ttdef"><b>Definition:</b> creds.h:47</div></div>
<div class="ttc" id="aclassminio_1_1error_1_1Error_html"><div class="ttname"><a href="classminio_1_1error_1_1Error.html">minio::error::Error</a></div><div class="ttdef"><b>Definition:</b> error.h:23</div></div>
<div class="ttc" id="aclassminio_1_1s3_1_1Client_html"><div class="ttname"><a href="classminio_1_1s3_1_1Client.html">minio::s3::Client</a></div><div class="ttdef"><b>Definition:</b> client.h:38</div></div>
<div class="ttc" id="aclassminio_1_1s3_1_1ListObjectsResult_html"><div class="ttname"><a href="classminio_1_1s3_1_1ListObjectsResult.html">minio::s3::ListObjectsResult</a></div><div class="ttdef"><b>Definition:</b> client.h:104</div></div>
<div class="ttc" id="aclassminio_1_1utils_1_1Multimap_html"><div class="ttname"><a href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a></div><div class="ttdef"><b>Definition:</b> utils.h:119</div></div>
<div class="ttc" id="astructminio_1_1http_1_1BaseUrl_html"><div class="ttname"><a href="structminio_1_1http_1_1BaseUrl.html">minio::http::BaseUrl</a></div><div class="ttdef"><b>Definition:</b> http.h:53</div></div>
<div class="ttc" id="astructminio_1_1http_1_1Response_html"><div class="ttname"><a href="structminio_1_1http_1_1Response.html">minio::http::Response</a></div><div class="ttdef"><b>Definition:</b> http.h:108</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1AbortMultipartUploadArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1AbortMultipartUploadArgs.html">minio::s3::AbortMultipartUploadArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:88</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1BaseArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1BaseArgs.html">minio::s3::BaseArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:27</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1BucketArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1BucketArgs.html">minio::s3::BucketArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:32</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1BucketExistsResponse_html"><div class="ttname"><a href="structminio_1_1s3_1_1BucketExistsResponse.html">minio::s3::BucketExistsResponse</a></div><div class="ttdef"><b>Definition:</b> response.h:71</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1CompleteMultipartUploadArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1CompleteMultipartUploadArgs.html">minio::s3::CompleteMultipartUploadArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:94</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1CompleteMultipartUploadResponse_html"><div class="ttname"><a href="structminio_1_1s3_1_1CompleteMultipartUploadResponse.html">minio::s3::CompleteMultipartUploadResponse</a></div><div class="ttdef"><b>Definition:</b> response.h:83</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1ComposeObjectArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1ComposeObjectArgs.html">minio::s3::ComposeObjectArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:227</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1CopyObjectArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1CopyObjectArgs.html">minio::s3::CopyObjectArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:209</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1CreateMultipartUploadArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1CreateMultipartUploadArgs.html">minio::s3::CreateMultipartUploadArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:101</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1CreateMultipartUploadResponse_html"><div class="ttname"><a href="structminio_1_1s3_1_1CreateMultipartUploadResponse.html">minio::s3::CreateMultipartUploadResponse</a></div><div class="ttdef"><b>Definition:</b> response.h:95</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1DownloadObjectArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1DownloadObjectArgs.html">minio::s3::DownloadObjectArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:137</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1GetObjectArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1GetObjectArgs.html">minio::s3::GetObjectArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:144</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1GetRegionResponse_html"><div class="ttname"><a href="structminio_1_1s3_1_1GetRegionResponse.html">minio::s3::GetRegionResponse</a></div><div class="ttdef"><b>Definition:</b> response.h:52</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1Item_html"><div class="ttname"><a href="structminio_1_1s3_1_1Item.html">minio::s3::Item</a></div><div class="ttdef"><b>Definition:</b> response.h:138</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1ListBucketsResponse_html"><div class="ttname"><a href="structminio_1_1s3_1_1ListBucketsResponse.html">minio::s3::ListBucketsResponse</a></div><div class="ttdef"><b>Definition:</b> response.h:62</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1ListObjectVersionsArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1ListObjectVersionsArgs.html">minio::s3::ListObjectVersionsArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:192</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1ListObjectsArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1ListObjectsArgs.html">minio::s3::ListObjectsArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:151</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1ListObjectsResponse_html"><div class="ttname"><a href="structminio_1_1s3_1_1ListObjectsResponse.html">minio::s3::ListObjectsResponse</a></div><div class="ttdef"><b>Definition:</b> response.h:158</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1ListObjectsV1Args_html"><div class="ttname"><a href="structminio_1_1s3_1_1ListObjectsV1Args.html">minio::s3::ListObjectsV1Args</a></div><div class="ttdef"><b>Definition:</b> args.h:175</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1ListObjectsV2Args_html"><div class="ttname"><a href="structminio_1_1s3_1_1ListObjectsV2Args.html">minio::s3::ListObjectsV2Args</a></div><div class="ttdef"><b>Definition:</b> args.h:182</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1MakeBucketArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1MakeBucketArgs.html">minio::s3::MakeBucketArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:76</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1ObjectConditionalReadArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1ObjectConditionalReadArgs.html">minio::s3::ObjectConditionalReadArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:64</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1ObjectVersionArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1ObjectVersionArgs.html">minio::s3::ObjectVersionArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:56</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1PutObjectApiArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1PutObjectApiArgs.html">minio::s3::PutObjectApiArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:112</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1PutObjectArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1PutObjectArgs.html">minio::s3::PutObjectArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:200</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1PutObjectResponse_html"><div class="ttname"><a href="structminio_1_1s3_1_1PutObjectResponse.html">minio::s3::PutObjectResponse</a></div><div class="ttdef"><b>Definition:</b> response.h:103</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1RequestBuilder_html"><div class="ttname"><a href="structminio_1_1s3_1_1RequestBuilder.html">minio::s3::RequestBuilder</a></div><div class="ttdef"><b>Definition:</b> request-builder.h:24</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1Response_html"><div class="ttname"><a href="structminio_1_1s3_1_1Response.html">minio::s3::Response</a></div><div class="ttdef"><b>Definition:</b> response.h:25</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1StatObjectResponse_html"><div class="ttname"><a href="structminio_1_1s3_1_1StatObjectResponse.html">minio::s3::StatObjectResponse</a></div><div class="ttdef"><b>Definition:</b> response.h:116</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1UploadObjectArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1UploadObjectArgs.html">minio::s3::UploadObjectArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:233</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1UploadPartArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1UploadPartArgs.html">minio::s3::UploadPartArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:117</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1UploadPartCopyArgs_html"><div class="ttname"><a href="structminio_1_1s3_1_1UploadPartCopyArgs.html">minio::s3::UploadPartCopyArgs</a></div><div class="ttdef"><b>Definition:</b> args.h:125</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

BIN
closed.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

View File

@@ -1,31 +0,0 @@
# Find the pugixml XML parsing library.
#
# Sets the usual variables expected for find_package scripts:
#
# PUGIXML_INCLUDE_DIR - header location
# PUGIXML_LIBRARIES - library to link against
# PUGIXML_FOUND - true if pugixml was found.
find_path (PUGIXML_INCLUDE_DIR
NAMES pugixml.hpp
PATHS ${PUGIXML_HOME}/include)
find_library (PUGIXML_LIBRARY
NAMES pugixml
PATHS ${PUGIXML_HOME}/lib)
# Support the REQUIRED and QUIET arguments, and set PUGIXML_FOUND if found.
include (FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS (PugiXML DEFAULT_MSG PUGIXML_LIBRARY
PUGIXML_INCLUDE_DIR)
if (PUGIXML_FOUND)
set (PUGIXML_LIBRARIES ${PUGIXML_LIBRARY})
if (NOT PugiXML_FIND_QUIETLY)
message (STATUS "PugiXML include = ${PUGIXML_INCLUDE_DIR}")
message (STATUS "PugiXML library = ${PUGIXML_LIBRARY}")
endif ()
else ()
message (STATUS "No PugiXML found")
endif()
mark_as_advanced (PUGIXML_LIBRARY PUGIXML_INCLUDE_DIR)

141
creds_8h_source.html Normal file
View File

@@ -0,0 +1,141 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: /home/bala/devel/github.com/minio/minio-cpp/include/creds.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">creds.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// MinIO C++ Library for Amazon S3 Compatible Cloud Storage</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Copyright 2022 MinIO, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// you may not use this file except in compliance with the License.</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// You may obtain a copy of the License at</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// http://www.apache.org/licenses/LICENSE-2.0</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// limitations under the License.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; </div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#ifndef _MINIO_CREDS_H</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#define _MINIO_CREDS_H</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="keyword">namespace </span>minio {</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="keyword">namespace </span>creds {</div>
<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="classminio_1_1creds_1_1Credentials.html"> 27</a></span>&#160;<span class="keyword">class </span><a class="code" href="classminio_1_1creds_1_1Credentials.html">Credentials</a> {</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; std::string_view access_key_;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; std::string_view secret_key_;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; std::string_view session_token_;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> expiration_;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; </div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <a class="code" href="classminio_1_1creds_1_1Credentials.html">Credentials</a>(<span class="keyword">const</span> <a class="code" href="classminio_1_1creds_1_1Credentials.html">Credentials</a>&amp; creds);</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="classminio_1_1creds_1_1Credentials.html">Credentials</a>(std::string_view access_key, std::string_view secret_key,</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; std::string_view session_token = <span class="stringliteral">&quot;&quot;</span>, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> expiration = 0);</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; std::string AccessKey();</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; std::string SecretKey();</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; std::string SessionToken();</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordtype">bool</span> IsExpired();</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;}; <span class="comment">// class Credentials</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; </div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classminio_1_1creds_1_1Provider.html"> 47</a></span>&#160;<span class="keyword">class </span><a class="code" href="classminio_1_1creds_1_1Provider.html">Provider</a> {</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="classminio_1_1creds_1_1Provider.html">Provider</a>() {}</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="classminio_1_1creds_1_1Provider.html">Provider</a>() {}</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classminio_1_1creds_1_1Credentials.html">Credentials</a> Fetch() = 0;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;}; <span class="comment">// class Provider</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classminio_1_1creds_1_1StaticProvider.html"> 57</a></span>&#160;<span class="keyword">class </span><a class="code" href="classminio_1_1creds_1_1StaticProvider.html">StaticProvider</a> : <span class="keyword">public</span> <a class="code" href="classminio_1_1creds_1_1Provider.html">Provider</a> {</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classminio_1_1creds_1_1Credentials.html">Credentials</a>* creds_ = NULL;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; </div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="classminio_1_1creds_1_1StaticProvider.html">StaticProvider</a>(std::string_view access_key, std::string_view secret_key,</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; std::string_view session_token = <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; ~<a class="code" href="classminio_1_1creds_1_1StaticProvider.html">StaticProvider</a>();</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="classminio_1_1creds_1_1Credentials.html">Credentials</a> Fetch();</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;}; <span class="comment">// class StaticProvider</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;} <span class="comment">// namespace creds</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;} <span class="comment">// namespace minio</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; </div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// #ifndef _MINIO_CREDS_H</span></div>
<div class="ttc" id="aclassminio_1_1creds_1_1Credentials_html"><div class="ttname"><a href="classminio_1_1creds_1_1Credentials.html">minio::creds::Credentials</a></div><div class="ttdef"><b>Definition:</b> creds.h:27</div></div>
<div class="ttc" id="aclassminio_1_1creds_1_1Provider_html"><div class="ttname"><a href="classminio_1_1creds_1_1Provider.html">minio::creds::Provider</a></div><div class="ttdef"><b>Definition:</b> creds.h:47</div></div>
<div class="ttc" id="aclassminio_1_1creds_1_1StaticProvider_html"><div class="ttname"><a href="classminio_1_1creds_1_1StaticProvider.html">minio::creds::StaticProvider</a></div><div class="ttdef"><b>Definition:</b> creds.h:57</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

View File

@@ -0,0 +1,78 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: /home/bala/devel/github.com/minio/minio-cpp/docs Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_49e56c817e5e54854c35e136979f97ca.html">docs</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">docs Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

View File

@@ -0,0 +1,78 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: /home/bala/devel/github.com/minio/minio-cpp/src Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">src Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

View File

@@ -0,0 +1,78 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: /home/bala/devel/github.com/minio/minio-cpp/include Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">include Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

BIN
doc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 B

View File

@@ -1 +0,0 @@
minio-cpp.min.io

View File

@@ -1,7 +0,0 @@
OUTPUT_DIRECTORY = @CMAKE_CURRENT_SOURCE_DIR@/docs
INPUT = @CMAKE_CURRENT_SOURCE_DIR@/docs/README.md @CMAKE_CURRENT_SOURCE_DIR@/src @CMAKE_CURRENT_SOURCE_DIR@/include
PROJECT_NAME = "MinIO C++ SDK"
GENERATE_LATEX = NO
WARN_IF_UNDOCUMENTED = NO
USE_MDFILE_AS_MAINPAGE = @CMAKE_CURRENT_SOURCE_DIR@/docs/README.md
HTML_OUTPUT = @CMAKE_CURRENT_SOURCE_DIR@/docs

View File

@@ -1,97 +0,0 @@
> NOTE: This project is work in progress.
MinIO C++ SDK is Simple Storage Service (aka S3) client to perform bucket and object operations to any Amazon S3 compatible object storage service.
For a complete list of APIs and examples, please take a look at the [MinIO C++ Client API Reference](https://minio-cpp.min.io/)
## Build requirements
* A working C++ development environment supporting C++17 standards.
* CMake 3.10 or higher.
* [vcpkg](https://vcpkg.io/en/index.html).
## Install from vcpkg
```
vcpkg install minio-cpp
```
## Building source
```
$ git clone https://github.com/minio/minio-cpp
$ cd minio-cpp
$ wget --quiet -O vcpkg-master.zip https://github.com/microsoft/vcpkg/archive/refs/heads/master.zip
$ unzip -qq vcpkg-master.zip
$ ./vcpkg-master/bootstrap-vcpkg.sh
$ ./vcpkg-master/vcpkg integrate install
$ cmake -B ./build -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=./vcpkg-master/scripts/buildsystems/vcpkg.cmake
$ cmake --build ./build --config Debug
```
## Example:: file-uploader.cc
```
#include <client.h>
int main(int argc, char* argv[]) {
// Create S3 base URL.
minio::http::BaseUrl base_url;
base_url.SetHost("play.min.io");
// Create credential provider.
minio::creds::StaticProvider provider(
"Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG");
// Create S3 client.
minio::s3::Client client(base_url, &provider);
std::string bucket_name = "asiatrip";
// Check 'asiatrip' bucket exist or not.
bool exist;
{
minio::s3::BucketExistsArgs args;
args.bucket_ = bucket_name;
minio::s3::BucketExistsResponse resp = client.BucketExists(args);
if (!resp) {
std::cout << "unable to do bucket existence check; " << resp.GetError()
<< std::endl;
return EXIT_FAILURE;
}
exist = resp.exist_;
}
// Make 'asiatrip' bucket if not exist.
if (!exist) {
minio::s3::MakeBucketArgs args;
args.bucket_ = bucket_name;
minio::s3::MakeBucketResponse resp = client.MakeBucket(args);
if (!resp) {
std::cout << "unable to create bucket; " << resp.GetError() << std::endl;
return EXIT_FAILURE;
}
}
// Upload '/home/user/Photos/asiaphotos.zip' as object name
// 'asiaphotos-2015.zip' to bucket 'asiatrip'.
minio::s3::UploadObjectArgs args;
args.bucket_ = bucket_name;
args.object_ = "asiaphotos-2015.zip";
args.filename_ = "/home/user/Photos/asiaphotos.zip";
minio::s3::UploadObjectResponse resp = client.UploadObject(args);
if (!resp) {
std::cout << "unable to upload object; " << resp.GetError() << std::endl;
return EXIT_FAILURE;
}
std::cout << "'/home/user/Photos/asiaphotos.zip' is successfully uploaded as "
<< "object 'asiaphotos-2015.zip' to bucket 'asiatrip'."
<< std::endl;
return EXIT_SUCCESS;
}
```
## License
This SDK is distributed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0), see [LICENSE](https://github.com/minio/minio-cpp/blob/master/LICENSE) for more information.

1793
doxygen.css Normal file

File diff suppressed because it is too large Load Diff

26
doxygen.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 15 KiB

121
dynsections.js Normal file
View File

@@ -0,0 +1,121 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@licend The above is the entire license notice for the JavaScript code in this file
*/
function toggleVisibility(linkObj)
{
var base = $(linkObj).attr('id');
var summary = $('#'+base+'-summary');
var content = $('#'+base+'-content');
var trigger = $('#'+base+'-trigger');
var src=$(trigger).attr('src');
if (content.is(':visible')===true) {
content.hide();
summary.show();
$(linkObj).addClass('closed').removeClass('opened');
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
content.show();
summary.hide();
$(linkObj).removeClass('closed').addClass('opened');
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
}
return false;
}
function updateStripes()
{
$('table.directory tr').
removeClass('even').filter(':visible:even').addClass('even');
}
function toggleLevel(level)
{
$('table.directory tr').each(function() {
var l = this.id.split('_').length-1;
var i = $('#img'+this.id.substring(3));
var a = $('#arr'+this.id.substring(3));
if (l<level+1) {
i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
a.html('&#9660;');
$(this).show();
} else if (l==level+1) {
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
a.html('&#9658;');
$(this).show();
} else {
$(this).hide();
}
});
updateStripes();
}
function toggleFolder(id)
{
// the clicked row
var currentRow = $('#row_'+id);
// all rows after the clicked row
var rows = currentRow.nextAll("tr");
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
// only match elements AFTER this one (can't hide elements before)
var childRows = rows.filter(function() { return this.id.match(re); });
// first row is visible we are HIDING
if (childRows.filter(':first').is(':visible')===true) {
// replace down arrow by right arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
currentRowSpans.filter(".arrow").html('&#9658;');
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
} else { // we are SHOWING
// replace right arrow by down arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
currentRowSpans.filter(".arrow").html('&#9660;');
// replace down arrows by right arrows for child rows
var childRowsSpans = childRows.find("span");
childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
childRowsSpans.filter(".arrow").html('&#9658;');
childRows.show(); //show all children
}
updateStripes();
}
function toggleInherit(id)
{
var rows = $('tr.inherit.'+id);
var img = $('tr.inherit_header.'+id+' img');
var src = $(img).attr('src');
if (rows.filter(':first').is(':visible')===true) {
rows.css('display','none');
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
rows.css('display','table-row'); // using show() causes jump in firefox
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
}
}
/* @license-end */

117
error_8h_source.html Normal file
View File

@@ -0,0 +1,117 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: /home/bala/devel/github.com/minio/minio-cpp/include/error.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">error.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// MinIO C++ Library for Amazon S3 Compatible Cloud Storage</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Copyright 2022 MinIO, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// you may not use this file except in compliance with the License.</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// You may obtain a copy of the License at</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// http://www.apache.org/licenses/LICENSE-2.0</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// limitations under the License.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; </div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#ifndef _MINIO_ERROR_H</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#define _MINIO_ERROR_H</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="keyword">namespace </span>minio {</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="keyword">namespace </span>error {</div>
<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="classminio_1_1error_1_1Error.html"> 23</a></span>&#160;<span class="keyword">class </span><a class="code" href="classminio_1_1error_1_1Error.html">Error</a> {</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; std::string msg_;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; </div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <a class="code" href="classminio_1_1error_1_1Error.html">Error</a>() {}</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <a class="code" href="classminio_1_1error_1_1Error.html">Error</a>(std::string_view msg) { msg_ = std::string(msg); }</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; std::string String() { <span class="keywordflow">return</span> msg_; }</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keyword">operator</span> bool()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !msg_.empty(); }</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;}; <span class="comment">// class Error</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; </div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="keyword">const</span> <span class="keyword">static</span> <a class="code" href="classminio_1_1error_1_1Error.html">Error</a> SUCCESS;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;} <span class="comment">// namespace error</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;} <span class="comment">// namespace minio</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; </div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// #ifndef _MINIO_ERROR_H</span></div>
<div class="ttc" id="aclassminio_1_1error_1_1Error_html"><div class="ttname"><a href="classminio_1_1error_1_1Error.html">minio::error::Error</a></div><div class="ttdef"><b>Definition:</b> error.h:23</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

View File

@@ -1,50 +0,0 @@
// MinIO C++ Library for Amazon S3 Compatible Cloud Storage
// Copyright 2022 MinIO, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include "client.h"
int main(int argc, char* argv[]) {
// Create S3 base URL.
minio::http::BaseUrl base_url;
base_url.SetHost("play.min.io");
// Create credential provider.
minio::creds::StaticProvider provider(
"Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG");
// Create S3 client.
minio::s3::Client client(base_url, &provider);
// Create bucket exists arguments.
minio::s3::BucketExistsArgs args;
args.bucket = "my-bucket";
// Call bucket exists.
minio::s3::BucketExistsResponse resp = client.BucketExists(args);
// Handle response.
if (resp) {
if (resp.exist) {
std::cout << "my-bucket exists" << std::endl;
} else {
std::cout << "my-bucket does not exist" << std::endl;
}
} else {
std::cout << "unable to do bucket existence check; " << resp.GetError()
<< std::endl;
}
return 0;
}

View File

@@ -1,40 +0,0 @@
SET(S3_LIBS ${requiredlibs})
ADD_EXECUTABLE(MakeBucket MakeBucket.cc)
TARGET_LINK_LIBRARIES(MakeBucket miniocpp ${S3_LIBS})
ADD_EXECUTABLE(RemoveBucket RemoveBucket.cc)
TARGET_LINK_LIBRARIES(RemoveBucket miniocpp ${S3_LIBS})
ADD_EXECUTABLE(BucketExists BucketExists.cc)
TARGET_LINK_LIBRARIES(BucketExists miniocpp ${S3_LIBS})
ADD_EXECUTABLE(ListBuckets ListBuckets.cc)
TARGET_LINK_LIBRARIES(ListBuckets miniocpp ${S3_LIBS})
ADD_EXECUTABLE(StatObject StatObject.cc)
TARGET_LINK_LIBRARIES(StatObject miniocpp ${S3_LIBS})
ADD_EXECUTABLE(RemoveObject RemoveObject.cc)
TARGET_LINK_LIBRARIES(RemoveObject miniocpp ${S3_LIBS})
ADD_EXECUTABLE(DownloadObject DownloadObject.cc)
TARGET_LINK_LIBRARIES(DownloadObject miniocpp ${S3_LIBS})
ADD_EXECUTABLE(UploadObject UploadObject.cc)
TARGET_LINK_LIBRARIES(UploadObject miniocpp ${S3_LIBS})
ADD_EXECUTABLE(GetObject GetObject.cc)
TARGET_LINK_LIBRARIES(GetObject miniocpp ${S3_LIBS})
ADD_EXECUTABLE(ListObjects ListObjects.cc)
TARGET_LINK_LIBRARIES(ListObjects miniocpp ${S3_LIBS})
ADD_EXECUTABLE(PutObject PutObject.cc)
TARGET_LINK_LIBRARIES(PutObject miniocpp ${S3_LIBS})
ADD_EXECUTABLE(CopyObject CopyObject.cc)
TARGET_LINK_LIBRARIES(CopyObject miniocpp ${S3_LIBS})
ADD_EXECUTABLE(ComposeObject ComposeObject.cc)
TARGET_LINK_LIBRARIES(ComposeObject miniocpp ${S3_LIBS})

View File

@@ -1,60 +0,0 @@
// MinIO C++ Library for Amazon S3 Compatible Cloud Storage
// Composeright 2022 MinIO, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a compose of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include "client.h"
int main(int argc, char* argv[]) {
// Create S3 base URL.
minio::http::BaseUrl base_url;
base_url.SetHost("play.min.io");
// Create credential provider.
minio::creds::StaticProvider provider(
"Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG");
// Create S3 client.
minio::s3::Client client(base_url, &provider);
// Create compose object arguments.
minio::s3::ComposeObjectArgs args;
args.bucket = "my-bucket";
args.object = "my-object";
std::list<minio::s3::ComposeSource> sources;
minio::s3::ComposeSource source1;
source1.bucket = "my-src-bucket1";
source1.object = "my-src-object1";
sources.push_back(source1);
minio::s3::ComposeSource source2;
source2.bucket = "my-src-bucket2";
source2.object = "my-src-object2";
sources.push_back(source2);
args.sources = sources;
// Call compose object.
minio::s3::ComposeObjectResponse resp = client.ComposeObject(args);
// Handle response.
if (resp) {
std::cout << "my-object is successfully created" << std::endl;
} else {
std::cout << "unable to compose object; " << resp.GetError() << std::endl;
}
return 0;
}

View File

@@ -1,52 +0,0 @@
// MinIO C++ Library for Amazon S3 Compatible Cloud Storage
// Copyright 2022 MinIO, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include "client.h"
int main(int argc, char* argv[]) {
// Create S3 base URL.
minio::http::BaseUrl base_url;
base_url.SetHost("play.min.io");
// Create credential provider.
minio::creds::StaticProvider provider(
"Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG");
// Create S3 client.
minio::s3::Client client(base_url, &provider);
// Create copy object arguments.
minio::s3::CopyObjectArgs args;
args.bucket = "my-bucket";
args.object = "my-object";
minio::s3::CopySource source;
source.bucket = "my-src-bucket";
source.object = "my-src-object";
args.source = source;
// Call copy object.
minio::s3::CopyObjectResponse resp = client.CopyObject(args);
// Handle response.
if (resp) {
std::cout << "my-object is successfully created from "
<< "my-src-bucket/my-src-object" << std::endl;
} else {
std::cout << "unable to do copy object; " << resp.GetError() << std::endl;
}
return 0;
}

View File

@@ -1,48 +0,0 @@
// MinIO C++ Library for Amazon S3 Compatible Cloud Storage
// Copyright 2022 MinIO, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include "client.h"
int main(int argc, char* argv[]) {
// Create S3 base URL.
minio::http::BaseUrl base_url;
base_url.SetHost("play.min.io");
// Create credential provider.
minio::creds::StaticProvider provider(
"Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG");
// Create S3 client.
minio::s3::Client client(base_url, &provider);
// Create download object arguments.
minio::s3::DownloadObjectArgs args;
args.bucket = "my-bucket";
args.object = "my-object";
args.filename = "my-object.csv";
// Call download object.
minio::s3::DownloadObjectResponse resp = client.DownloadObject(args);
// Handle response.
if (resp) {
std::cout << "my-object is successfully downloaded to my-object.csv"
<< std::endl;
} else {
std::cout << "unable to download object; " << resp.GetError() << std::endl;
}
return 0;
}

View File

@@ -1,51 +0,0 @@
// MinIO C++ Library for Amazon S3 Compatible Cloud Storage
// Copyright 2022 MinIO, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include "client.h"
int main(int argc, char* argv[]) {
// Create S3 base URL.
minio::http::BaseUrl base_url;
base_url.SetHost("play.min.io");
// Create credential provider.
minio::creds::StaticProvider provider(
"Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG");
// Create S3 client.
minio::s3::Client client(base_url, &provider);
// Create get object arguments.
minio::s3::GetObjectArgs args;
args.bucket = "my-bucket";
args.object = "my-object";
args.data_callback = [](minio::http::DataCallbackArgs args) -> size_t {
std::cout << std::string(args.buffer, args.length);
return args.size * args.length;
};
// Call get object.
minio::s3::GetObjectResponse resp = client.GetObject(args);
// Handle response.
if (resp) {
std::cout << std::endl
<< "data of my-object is received successfully" << std::endl;
} else {
std::cout << "unable to get object; " << resp.GetError() << std::endl;
}
return 0;
}

View File

@@ -1,44 +0,0 @@
// MinIO C++ Library for Amazon S3 Compatible Cloud Storage
// Copyright 2022 MinIO, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include "client.h"
int main(int argc, char* argv[]) {
// Create S3 base URL.
minio::http::BaseUrl base_url;
base_url.SetHost("play.min.io");
// Create credential provider.
minio::creds::StaticProvider provider(
"Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG");
// Create S3 client.
minio::s3::Client client(base_url, &provider);
// Call list buckets.
minio::s3::ListBucketsResponse resp = client.ListBuckets();
// Handle response.
if (resp) {
for (auto& bucket : resp.buckets) {
std::cout << "Bucket: " << bucket.name << "; Creation date: "
<< bucket.creation_date.ToHttpHeaderValue() << std::endl;
}
} else {
std::cout << "unable to list buckets; " << resp.GetError() << std::endl;
}
return 0;
}

View File

@@ -1,66 +0,0 @@
// MinIO C++ Library for Amazon S3 Compatible Cloud Storage
// Copyright 2022 MinIO, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include "client.h"
int main(int argc, char* argv[]) {
// Create S3 base URL.
minio::http::BaseUrl base_url;
base_url.SetHost("play.min.io");
// Create credential provider.
minio::creds::StaticProvider provider(
"Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG");
// Create S3 client.
minio::s3::Client client(base_url, &provider);
// Create list objects arguments.
minio::s3::ListObjectsArgs args;
args.bucket = "my-bucket";
// Call list objects.
minio::s3::ListObjectsResult result = client.ListObjects(args);
for (; result; result++) {
minio::s3::Item item = *result;
if (item) {
std::cout << "Name: " << item.name << std::endl;
std::cout << "Version ID: " << item.version_id << std::endl;
std::cout << "ETag: " << item.etag << std::endl;
std::cout << "Size: " << item.size << std::endl;
std::cout << "Last Modified: " << item.last_modified << std::endl;
std::cout << "Delete Marker: "
<< minio::utils::BoolToString(item.is_delete_marker)
<< std::endl;
std::cout << "User Metadata: " << std::endl;
for (auto& [key, value] : item.user_metadata) {
std::cout << " " << key << ": " << value << std::endl;
}
std::cout << "Owner ID: " << item.owner_id << std::endl;
std::cout << "Owner Name: " << item.owner_name << std::endl;
std::cout << "Storage Class: " << item.storage_class << std::endl;
std::cout << "Is Latest: " << minio::utils::BoolToString(item.is_latest)
<< std::endl;
std::cout << "Is Prefix: " << minio::utils::BoolToString(item.is_prefix)
<< std::endl;
std::cout << "---" << std::endl;
} else {
std::cout << "unable to listobjects; " << item.GetError() << std::endl;
break;
}
}
return 0;
}

View File

@@ -1,45 +0,0 @@
// MinIO C++ Library for Amazon S3 Compatible Cloud Storage
// Copyright 2022 MinIO, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include "client.h"
int main(int argc, char* argv[]) {
// Create S3 base URL.
minio::http::BaseUrl base_url;
base_url.SetHost("play.min.io");
// Create credential provider.
minio::creds::StaticProvider provider(
"Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG");
// Create S3 client.
minio::s3::Client client(base_url, &provider);
// Create make bucket arguments.
minio::s3::MakeBucketArgs args;
args.bucket = "my-bucket";
// Call make bucket.
minio::s3::MakeBucketResponse resp = client.MakeBucket(args);
// Handle response.
if (resp) {
std::cout << "my-bucket is created successfully" << std::endl;
} else {
std::cout << "unable to create bucket; " << resp.GetError() << std::endl;
}
return 0;
}

View File

@@ -1,48 +0,0 @@
// MinIO C++ Library for Amazon S3 Compatible Cloud Storage
// Copyright 2022 MinIO, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include "client.h"
int main(int argc, char* argv[]) {
// Create S3 base URL.
minio::http::BaseUrl base_url;
base_url.SetHost("play.min.io");
// Create credential provider.
minio::creds::StaticProvider provider(
"Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG");
// Create S3 client.
minio::s3::Client client(base_url, &provider);
// Create put object arguments.
std::ifstream file("my-object.csv");
minio::s3::PutObjectArgs args(file, 47615315, 0);
args.bucket = "my-bucket";
args.object = "my-object";
// Call put object.
minio::s3::PutObjectResponse resp = client.PutObject(args);
// Handle response.
if (resp) {
std::cout << "my-object is successfully created" << std::endl;
} else {
std::cout << "unable to do put object; " << resp.GetError() << std::endl;
}
return 0;
}

View File

@@ -1,45 +0,0 @@
// MinIO C++ Library for Amazon S3 Compatible Cloud Storage
// Copyright 2022 MinIO, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include "client.h"
int main(int argc, char* argv[]) {
// Create S3 base URL.
minio::http::BaseUrl base_url;
base_url.SetHost("play.min.io");
// Create credential provider.
minio::creds::StaticProvider provider(
"Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG");
// Create S3 client.
minio::s3::Client client(base_url, &provider);
// Create remove bucket arguments.
minio::s3::RemoveBucketArgs args;
args.bucket = "my-bucket";
// Call remove bucket.
minio::s3::RemoveBucketResponse resp = client.RemoveBucket(args);
// Handle response.
if (resp) {
std::cout << "my-bucket is removed successfully" << std::endl;
} else {
std::cout << "unable to remove bucket; " << resp.GetError() << std::endl;
}
return 0;
}

View File

@@ -1,46 +0,0 @@
// MinIO C++ Library for Amazon S3 Compatible Cloud Storage
// Copyright 2022 MinIO, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include "client.h"
int main(int argc, char* argv[]) {
// Create S3 base URL.
minio::http::BaseUrl base_url;
base_url.SetHost("play.min.io");
// Create credential provider.
minio::creds::StaticProvider provider(
"Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG");
// Create S3 client.
minio::s3::Client client(base_url, &provider);
// Create remove object arguments.
minio::s3::RemoveObjectArgs args;
args.bucket = "my-bucket";
args.object = "my-object";
// Call remove object.
minio::s3::RemoveObjectResponse resp = client.RemoveObject(args);
// Handle response.
if (resp) {
std::cout << "my-object is removed successfully" << std::endl;
} else {
std::cout << "unable to remove object; " << resp.GetError() << std::endl;
}
return 0;
}

View File

@@ -1,77 +0,0 @@
// MinIO C++ Library for Amazon S3 Compatible Cloud Storage
// Copyright 2022 MinIO, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include "client.h"
int main(int argc, char* argv[]) {
// Create S3 base URL.
minio::http::BaseUrl base_url;
base_url.SetHost("play.min.io");
// Create credential provider.
minio::creds::StaticProvider provider(
"Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG");
// Create S3 client.
minio::s3::Client client(base_url, &provider);
// Create stat object arguments.
minio::s3::StatObjectArgs args;
args.bucket = "my-bucket";
args.object = "my-object";
// Call stat object.
minio::s3::StatObjectResponse resp = client.StatObject(args);
// Handle response.
if (resp) {
std::cout << "Version ID: " << resp.version_id << std::endl;
std::cout << "ETag: " << resp.etag << std::endl;
std::cout << "Size: " << resp.size << std::endl;
std::cout << "Last Modified: " << resp.last_modified << std::endl;
std::cout << "Retention Mode: ";
if (minio::s3::IsRetentionModeValid(resp.retention_mode)) {
std::cout << minio::s3::RetentionModeToString(resp.retention_mode)
<< std::endl;
} else {
std::cout << "-" << std::endl;
}
std::cout << "Retention Retain Until Date: ";
if (resp.retention_retain_until_date) {
std::cout << resp.retention_retain_until_date.ToHttpHeaderValue()
<< std::endl;
} else {
std::cout << "-" << std::endl;
}
std::cout << "Legal Hold: ";
if (minio::s3::IsLegalHoldValid(resp.legal_hold)) {
std::cout << minio::s3::LegalHoldToString(resp.legal_hold) << std::endl;
} else {
std::cout << "-" << std::endl;
}
std::cout << "Delete Marker: "
<< minio::utils::BoolToString(resp.delete_marker) << std::endl;
std::cout << "User Metadata: " << std::endl;
std::list<std::string> keys = resp.user_metadata.Keys();
for (auto& key : keys) {
std::cout << " " << key << ": " << resp.user_metadata.GetFront(key)
<< std::endl;
}
} else {
std::cout << "unable to get stat object; " << resp.GetError() << std::endl;
}
return 0;
}

View File

@@ -1,48 +0,0 @@
// MinIO C++ Library for Amazon S3 Compatible Cloud Storage
// Copyright 2022 MinIO, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include "client.h"
int main(int argc, char* argv[]) {
// Create S3 base URL.
minio::http::BaseUrl base_url;
base_url.SetHost("play.min.io");
// Create credential provider.
minio::creds::StaticProvider provider(
"Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG");
// Create S3 client.
minio::s3::Client client(base_url, &provider);
// Create upload object arguments.
minio::s3::UploadObjectArgs args;
args.bucket = "my-bucket";
args.object = "my-object";
args.filename = "my-object.csv";
// Call upload object.
minio::s3::UploadObjectResponse resp = client.UploadObject(args);
// Handle response.
if (resp) {
std::cout << "my-object.csv is successfully uploaded to my-object"
<< std::endl;
} else {
std::cout << "unable to upload object; " << resp.GetError() << std::endl;
}
return 0;
}

90
files.html Normal file
View File

@@ -0,0 +1,90 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: File List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">File List</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span id="img_0_" class="iconfopen" onclick="toggleFolder('0_')">&#160;</span><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html" target="_self">include</a></td><td class="desc"></td></tr>
<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="args_8h_source.html"><span class="icondoc"></span></a><b>args.h</b></td><td class="desc"></td></tr>
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="client_8h_source.html"><span class="icondoc"></span></a><b>client.h</b></td><td class="desc"></td></tr>
<tr id="row_0_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="creds_8h_source.html"><span class="icondoc"></span></a><b>creds.h</b></td><td class="desc"></td></tr>
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="error_8h_source.html"><span class="icondoc"></span></a><b>error.h</b></td><td class="desc"></td></tr>
<tr id="row_0_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="http_8h_source.html"><span class="icondoc"></span></a><b>http.h</b></td><td class="desc"></td></tr>
<tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="request-builder_8h_source.html"><span class="icondoc"></span></a><b>request-builder.h</b></td><td class="desc"></td></tr>
<tr id="row_0_6_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="response_8h_source.html"><span class="icondoc"></span></a><b>response.h</b></td><td class="desc"></td></tr>
<tr id="row_0_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="signer_8h_source.html"><span class="icondoc"></span></a><b>signer.h</b></td><td class="desc"></td></tr>
<tr id="row_0_8_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="sse_8h_source.html"><span class="icondoc"></span></a><b>sse.h</b></td><td class="desc"></td></tr>
<tr id="row_0_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="types_8h_source.html"><span class="icondoc"></span></a><b>types.h</b></td><td class="desc"></td></tr>
<tr id="row_0_10_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="utils_8h_source.html"><span class="icondoc"></span></a><b>utils.h</b></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

BIN
folderclosed.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 616 B

BIN
folderopen.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

138
hierarchy.html Normal file
View File

@@ -0,0 +1,138 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: Class Hierarchy</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Class Hierarchy</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span><span onclick="javascript:toggleLevel(5);">5</span><span onclick="javascript:toggleLevel(6);">6</span><span onclick="javascript:toggleLevel(7);">7</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1BaseArgs.html" target="_self">minio::s3::BaseArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1BucketArgs.html" target="_self">minio::s3::BucketArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ListObjectsArgs.html" target="_self">minio::s3::ListObjectsArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_0_1_" class="arrow" onclick="toggleFolder('0_0_1_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ListObjectsCommonArgs.html" target="_self">minio::s3::ListObjectsCommonArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ListObjectVersionsArgs.html" target="_self">minio::s3::ListObjectVersionsArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_1_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ListObjectsV1Args.html" target="_self">minio::s3::ListObjectsV1Args</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_2_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ListObjectsV2Args.html" target="_self">minio::s3::ListObjectsV2Args</a></td><td class="desc"></td></tr>
<tr id="row_0_0_2_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1MakeBucketArgs.html" target="_self">minio::s3::MakeBucketArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_0_3_" class="arrow" onclick="toggleFolder('0_0_3_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ObjectArgs.html" target="_self">minio::s3::ObjectArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_3_0_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1AbortMultipartUploadArgs.html" target="_self">minio::s3::AbortMultipartUploadArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_3_1_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1CompleteMultipartUploadArgs.html" target="_self">minio::s3::CompleteMultipartUploadArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_3_2_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1CreateMultipartUploadArgs.html" target="_self">minio::s3::CreateMultipartUploadArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_3_3_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_0_0_3_3_" class="arrow" onclick="toggleFolder('0_0_3_3_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ObjectVersionArgs.html" target="_self">minio::s3::ObjectVersionArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_3_3_0_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span id="arr_0_0_3_3_0_" class="arrow" onclick="toggleFolder('0_0_3_3_0_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ObjectReadArgs.html" target="_self">minio::s3::ObjectReadArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_3_3_0_0_" class="even"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1DownloadObjectArgs.html" target="_self">minio::s3::DownloadObjectArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_3_3_0_1_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span id="arr_0_0_3_3_0_1_" class="arrow" onclick="toggleFolder('0_0_3_3_0_1_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ObjectConditionalReadArgs.html" target="_self">minio::s3::ObjectConditionalReadArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_3_3_0_1_0_" class="even"><td class="entry"><span style="width:112px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ComposeSource.html" target="_self">minio::s3::ComposeSource</a></td><td class="desc"></td></tr>
<tr id="row_0_0_3_3_0_1_1_"><td class="entry"><span style="width:112px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1GetObjectArgs.html" target="_self">minio::s3::GetObjectArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_3_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_0_0_3_4_" class="arrow" onclick="toggleFolder('0_0_3_4_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ObjectWriteArgs.html" target="_self">minio::s3::ObjectWriteArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_3_4_0_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ComposeObjectArgs.html" target="_self">minio::s3::ComposeObjectArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_3_4_1_" class="even"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1CopyObjectArgs.html" target="_self">minio::s3::CopyObjectArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_3_4_2_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span id="arr_0_0_3_4_2_" class="arrow" onclick="toggleFolder('0_0_3_4_2_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1PutObjectBaseArgs.html" target="_self">minio::s3::PutObjectBaseArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_3_4_2_0_" class="even"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1PutObjectApiArgs.html" target="_self">minio::s3::PutObjectApiArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_3_4_2_1_"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1PutObjectArgs.html" target="_self">minio::s3::PutObjectArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_3_4_2_2_" class="even"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1UploadObjectArgs.html" target="_self">minio::s3::UploadObjectArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_3_4_3_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1UploadPartArgs.html" target="_self">minio::s3::UploadPartArgs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_3_4_4_" class="even"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1UploadPartCopyArgs.html" target="_self">minio::s3::UploadPartCopyArgs</a></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1http_1_1BaseUrl.html" target="_self">minio::http::BaseUrl</a></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1Bucket.html" target="_self">minio::s3::Bucket</a></td><td class="desc"></td></tr>
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classminio_1_1s3_1_1Client.html" target="_self">minio::s3::Client</a></td><td class="desc"></td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classminio_1_1creds_1_1Credentials.html" target="_self">minio::creds::Credentials</a></td><td class="desc"></td></tr>
<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1http_1_1DataCallbackArgs.html" target="_self">minio::http::DataCallbackArgs</a></td><td class="desc"></td></tr>
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classminio_1_1error_1_1Error.html" target="_self">minio::error::Error</a></td><td class="desc"></td></tr>
<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classminio_1_1s3_1_1ListObjectsResult.html" target="_self">minio::s3::ListObjectsResult</a></td><td class="desc"></td></tr>
<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classminio_1_1utils_1_1Multimap.html" target="_self">minio::utils::Multimap</a></td><td class="desc"></td></tr>
<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1Part.html" target="_self">minio::s3::Part</a></td><td class="desc"></td></tr>
<tr id="row_10_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_10_" class="arrow" onclick="toggleFolder('10_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classminio_1_1creds_1_1Provider.html" target="_self">minio::creds::Provider</a></td><td class="desc"></td></tr>
<tr id="row_10_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classminio_1_1creds_1_1StaticProvider.html" target="_self">minio::creds::StaticProvider</a></td><td class="desc"></td></tr>
<tr id="row_11_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1http_1_1Request.html" target="_self">minio::http::Request</a></td><td class="desc"></td></tr>
<tr id="row_12_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1RequestBuilder.html" target="_self">minio::s3::RequestBuilder</a></td><td class="desc"></td></tr>
<tr id="row_13_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1http_1_1Response.html" target="_self">minio::http::Response</a></td><td class="desc"></td></tr>
<tr id="row_14_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_14_" class="arrow" onclick="toggleFolder('14_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1Response.html" target="_self">minio::s3::Response</a></td><td class="desc"></td></tr>
<tr id="row_14_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1BucketExistsResponse.html" target="_self">minio::s3::BucketExistsResponse</a></td><td class="desc"></td></tr>
<tr id="row_14_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1CompleteMultipartUploadResponse.html" target="_self">minio::s3::CompleteMultipartUploadResponse</a></td><td class="desc"></td></tr>
<tr id="row_14_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1CreateMultipartUploadResponse.html" target="_self">minio::s3::CreateMultipartUploadResponse</a></td><td class="desc"></td></tr>
<tr id="row_14_3_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1GetRegionResponse.html" target="_self">minio::s3::GetRegionResponse</a></td><td class="desc"></td></tr>
<tr id="row_14_4_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1Item.html" target="_self">minio::s3::Item</a></td><td class="desc"></td></tr>
<tr id="row_14_5_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ListBucketsResponse.html" target="_self">minio::s3::ListBucketsResponse</a></td><td class="desc"></td></tr>
<tr id="row_14_6_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1ListObjectsResponse.html" target="_self">minio::s3::ListObjectsResponse</a></td><td class="desc"></td></tr>
<tr id="row_14_7_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1PutObjectResponse.html" target="_self">minio::s3::PutObjectResponse</a></td><td class="desc"></td></tr>
<tr id="row_14_8_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1StatObjectResponse.html" target="_self">minio::s3::StatObjectResponse</a></td><td class="desc"></td></tr>
<tr id="row_15_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1s3_1_1Retention.html" target="_self">minio::s3::Retention</a></td><td class="desc"></td></tr>
<tr id="row_16_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_16_" class="arrow" onclick="toggleFolder('16_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classminio_1_1s3_1_1Sse.html" target="_self">minio::s3::Sse</a></td><td class="desc"></td></tr>
<tr id="row_16_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classminio_1_1s3_1_1SseCustomerKey.html" target="_self">minio::s3::SseCustomerKey</a></td><td class="desc"></td></tr>
<tr id="row_16_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classminio_1_1s3_1_1SseKms.html" target="_self">minio::s3::SseKms</a></td><td class="desc"></td></tr>
<tr id="row_16_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classminio_1_1s3_1_1SseS3.html" target="_self">minio::s3::SseS3</a></td><td class="desc"></td></tr>
<tr id="row_17_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_17_" class="arrow" onclick="toggleFolder('17_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>std::streambuf</b></td><td class="desc"></td></tr>
<tr id="row_17_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1utils_1_1CharBuffer.html" target="_self">minio::utils::CharBuffer</a></td><td class="desc"></td></tr>
<tr id="row_18_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classminio_1_1utils_1_1Time.html" target="_self">minio::utils::Time</a></td><td class="desc"></td></tr>
<tr id="row_19_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structminio_1_1utils_1_1Url.html" target="_self">minio::utils::Url</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

219
http_8h_source.html Normal file
View File

@@ -0,0 +1,219 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: /home/bala/devel/github.com/minio/minio-cpp/include/http.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">http.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// MinIO C++ Library for Amazon S3 Compatible Cloud Storage</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Copyright 2022 MinIO, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// you may not use this file except in compliance with the License.</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// You may obtain a copy of the License at</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// http://www.apache.org/licenses/LICENSE-2.0</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// limitations under the License.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; </div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#ifndef _MINIO_HTTP_H</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#define _MINIO_HTTP_H</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &lt;curlpp/Easy.hpp&gt;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &lt;curlpp/Options.hpp&gt;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; </div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &quot;utils.h&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="keyword">namespace </span>minio {</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="keyword">namespace </span>http {</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="keyword">enum class</span> Method { kGet, kHead, kPost, kPut, kDelete };</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment">// MethodToString converts http Method enum to string.</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;constexpr <span class="keyword">const</span> <span class="keywordtype">char</span>* MethodToString(Method&amp; method) <span class="keywordflow">throw</span>() {</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keywordflow">switch</span> (method) {</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keywordflow">case</span> Method::kGet:</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;GET&quot;</span>;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keywordflow">case</span> Method::kHead:</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;HEAD&quot;</span>;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keywordflow">case</span> Method::kPost:</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;POST&quot;</span>;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keywordflow">case</span> Method::kPut:</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;PUT&quot;</span>;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keywordflow">case</span> Method::kDelete:</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;DELETE&quot;</span>;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordflow">default</span>: {</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; std::cerr &lt;&lt; <span class="stringliteral">&quot;ABORT: Unimplemented HTTP method. This should not happen.&quot;</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; &lt;&lt; std::endl;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; std::terminate();</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; }</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; }</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">return</span> NULL;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;}</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; </div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment">// ExtractRegion extracts region value from AWS S3 host string.</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;std::string ExtractRegion(std::string host);</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; </div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="structminio_1_1http_1_1BaseUrl.html"> 53</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1http_1_1BaseUrl.html">BaseUrl</a> {</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; std::string host;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordtype">bool</span> is_https = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> port = 0;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; std::string region;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordtype">bool</span> aws_host = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordtype">bool</span> accelerate_host = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordtype">bool</span> dualstack_host = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordtype">bool</span> virtual_style = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; </div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> SetHost(std::string hostvalue);</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; std::string GetHostHeaderValue();</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> BuildUrl(<a class="code" href="structminio_1_1utils_1_1Url.html">utils::Url</a>&amp; url, Method method, std::string region,</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a> query_params,</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; std::string bucket_name = <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; std::string object_name = <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keyword">operator</span> bool()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !host.empty(); }</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;}; <span class="comment">// struct BaseUrl</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; </div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1http_1_1DataCallbackArgs.html">DataCallbackArgs</a>;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; </div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="keyword">typedef</span> size_t (*DataCallback)(<a class="code" href="structminio_1_1http_1_1DataCallbackArgs.html">DataCallbackArgs</a> args);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; </div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1http_1_1Response.html">Response</a>;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; </div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="structminio_1_1http_1_1DataCallbackArgs.html"> 78</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1http_1_1DataCallbackArgs.html">DataCallbackArgs</a> {</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; curlpp::Easy* handle = NULL;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="structminio_1_1http_1_1Response.html">Response</a>* response = NULL;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordtype">char</span>* buffer = NULL;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordtype">size_t</span> size = 0;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordtype">size_t</span> length = 0;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordtype">void</span>* user_arg = NULL;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;}; <span class="comment">// struct DataCallbackArgs</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; </div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="structminio_1_1http_1_1Request.html"> 87</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1http_1_1Request.html">Request</a> {</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; Method method;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="code" href="structminio_1_1utils_1_1Url.html">utils::Url</a> url;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a> headers;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; std::string_view body = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; DataCallback data_callback = NULL;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordtype">void</span>* user_arg = NULL;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordtype">bool</span> debug = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordtype">bool</span> ignore_cert_check = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; </div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="structminio_1_1http_1_1Request.html">Request</a>(Method httpmethod, <a class="code" href="structminio_1_1utils_1_1Url.html">utils::Url</a> httpurl);</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="structminio_1_1http_1_1Response.html">Response</a> Execute();</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keyword">operator</span> bool()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">if</span> (method &lt; Method::kGet || method &gt; Method::kDelete) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">return</span> url;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; }</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; </div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="structminio_1_1http_1_1Response.html">Response</a> execute();</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;}; <span class="comment">// struct Request</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; </div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="structminio_1_1http_1_1Response.html"> 108</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1http_1_1Response.html">Response</a> {</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; std::string error;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; DataCallback data_callback = NULL;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordtype">void</span>* user_arg = NULL;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordtype">int</span> status_code = 0;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a> headers;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; std::string body;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; </div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordtype">size_t</span> ResponseCallback(curlpp::Easy* handle, <span class="keywordtype">char</span>* buffer, <span class="keywordtype">size_t</span> size,</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordtype">size_t</span> length);</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keyword">operator</span> bool()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">return</span> error.empty() &amp;&amp; status_code &gt;= 200 &amp;&amp; status_code &lt;= 299;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; }</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; </div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; std::string response_;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordtype">bool</span> continue100_ = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordtype">bool</span> status_code_read_ = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordtype">bool</span> headers_read_ = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; </div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordtype">size_t</span> ReadStatusCode(<span class="keywordtype">char</span>* buffer, <span class="keywordtype">size_t</span> size, <span class="keywordtype">size_t</span> length);</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordtype">size_t</span> ReadHeaders(curlpp::Easy* handle, <span class="keywordtype">char</span>* buffer, <span class="keywordtype">size_t</span> size,</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordtype">size_t</span> length);</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;}; <span class="comment">// struct Response</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;} <span class="comment">// namespace http</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;} <span class="comment">// namespace minio</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// #ifndef _MINIO_HTTP_H</span></div>
<div class="ttc" id="aclassminio_1_1error_1_1Error_html"><div class="ttname"><a href="classminio_1_1error_1_1Error.html">minio::error::Error</a></div><div class="ttdef"><b>Definition:</b> error.h:23</div></div>
<div class="ttc" id="aclassminio_1_1utils_1_1Multimap_html"><div class="ttname"><a href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a></div><div class="ttdef"><b>Definition:</b> utils.h:119</div></div>
<div class="ttc" id="astructminio_1_1http_1_1BaseUrl_html"><div class="ttname"><a href="structminio_1_1http_1_1BaseUrl.html">minio::http::BaseUrl</a></div><div class="ttdef"><b>Definition:</b> http.h:53</div></div>
<div class="ttc" id="astructminio_1_1http_1_1DataCallbackArgs_html"><div class="ttname"><a href="structminio_1_1http_1_1DataCallbackArgs.html">minio::http::DataCallbackArgs</a></div><div class="ttdef"><b>Definition:</b> http.h:78</div></div>
<div class="ttc" id="astructminio_1_1http_1_1Request_html"><div class="ttname"><a href="structminio_1_1http_1_1Request.html">minio::http::Request</a></div><div class="ttdef"><b>Definition:</b> http.h:87</div></div>
<div class="ttc" id="astructminio_1_1http_1_1Response_html"><div class="ttname"><a href="structminio_1_1http_1_1Response.html">minio::http::Response</a></div><div class="ttdef"><b>Definition:</b> http.h:108</div></div>
<div class="ttc" id="astructminio_1_1utils_1_1Url_html"><div class="ttname"><a href="structminio_1_1utils_1_1Url.html">minio::utils::Url</a></div><div class="ttdef"><b>Definition:</b> utils.h:144</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

View File

@@ -1,32 +0,0 @@
# MinIO C++ Library for Amazon S3 Compatible Cloud Storage
# Copyright 2021 MinIO, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
INCLUDE (CheckIncludeFiles)
INCLUDE (CheckFunctionExists)
CHECK_INCLUDE_FILES(inttypes.h HAVE_INTTYPES_H)
CHECK_INCLUDE_FILES(stdint.h HAVE_STDINT_H)
CHECK_INCLUDE_FILES(stdlib.h HAVE_STDLIB_H)
CHECK_INCLUDE_FILES(limits.h HAVE_LIMITS_H)
CHECK_INCLUDE_FILES(sys/types.h HAVE_SYS_TYPES_H)
CHECK_FUNCTION_EXISTS(strtoimax HAVE_STRTOIMAX_F)
CHECK_FUNCTION_EXISTS(strptime HAVE_STRPTIME_F)
# install all the headers
FILE(GLOB files "${CMAKE_CURRENT_SOURCE_DIR}/*.h")
INSTALL(FILES ${files} DESTINATION include/miniocpp)
INSTALL(FILES DESTINATION include)

View File

@@ -1,240 +0,0 @@
// MinIO C++ Library for Amazon S3 Compatible Cloud Storage
// Copyright 2022 MinIO, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef _MINIO_S3_ARGS_H
#define _MINIO_S3_ARGS_H
#include <filesystem>
#include "http.h"
#include "sse.h"
#include "types.h"
namespace minio {
namespace s3 {
struct BaseArgs {
utils::Multimap extra_headers;
utils::Multimap extra_query_params;
}; // struct BaseArgs
struct BucketArgs : public BaseArgs {
std::string bucket;
std::string region;
error::Error Validate();
}; // struct BucketArgs
struct ObjectArgs : public BucketArgs {
std::string object;
error::Error Validate();
}; // struct ObjectArgs
struct ObjectWriteArgs : public ObjectArgs {
utils::Multimap headers;
utils::Multimap user_metadata;
Sse *sse = NULL;
std::map<std::string, std::string> tags;
Retention *retention = NULL;
bool legal_hold = false;
utils::Multimap Headers();
}; // struct ObjectWriteArgs
struct ObjectVersionArgs : public ObjectArgs {
std::string version_id;
}; // struct ObjectVersionArgs
struct ObjectReadArgs : public ObjectVersionArgs {
SseCustomerKey *ssec = NULL;
}; // struct ObjectReadArgs
struct ObjectConditionalReadArgs : public ObjectReadArgs {
size_t *offset = NULL;
size_t *length = NULL;
std::string match_etag;
std::string not_match_etag;
utils::Time modified_since;
utils::Time unmodified_since;
utils::Multimap Headers();
utils::Multimap CopyHeaders();
}; // struct ObjectConditionalReadArgs
struct MakeBucketArgs : public BucketArgs {
bool object_lock = false;
error::Error Validate();
}; // struct MakeBucketArgs
using ListBucketsArgs = BaseArgs;
using BucketExistsArgs = BucketArgs;
using RemoveBucketArgs = BucketArgs;
struct AbortMultipartUploadArgs : public ObjectArgs {
std::string upload_id;
error::Error Validate();
}; // struct AbortMultipartUploadArgs
struct CompleteMultipartUploadArgs : public ObjectArgs {
std::string upload_id;
std::list<Part> parts;
error::Error Validate();
}; // struct CompleteMultipartUploadArgs
struct CreateMultipartUploadArgs : public ObjectArgs {
utils::Multimap headers;
}; // struct CreateMultipartUploadArgs
struct PutObjectBaseArgs : public ObjectWriteArgs {
long object_size = -1;
size_t part_size = 0;
long part_count = 0;
std::string content_type;
}; // struct PutObjectBaseArgs
struct PutObjectApiArgs : public PutObjectBaseArgs {
std::string_view data;
utils::Multimap query_params;
}; // struct PutObjectApiArgs
struct UploadPartArgs : public ObjectWriteArgs {
std::string upload_id;
unsigned int part_number;
std::string_view data;
error::Error Validate();
}; // struct UploadPartArgs
struct UploadPartCopyArgs : public ObjectWriteArgs {
std::string upload_id;
unsigned int part_number;
utils::Multimap headers;
error::Error Validate();
}; // struct UploadPartCopyArgs
using StatObjectArgs = ObjectConditionalReadArgs;
using RemoveObjectArgs = ObjectVersionArgs;
struct DownloadObjectArgs : public ObjectReadArgs {
std::string filename;
bool overwrite;
error::Error Validate();
}; // struct DownloadObjectArgs
struct GetObjectArgs : public ObjectConditionalReadArgs {
http::DataCallback data_callback;
void *user_arg = NULL;
error::Error Validate();
}; // struct GetObjectArgs
struct ListObjectsArgs : public BucketArgs {
std::string delimiter;
bool use_url_encoding_type = true;
std::string marker; // only for ListObjectsV1.
std::string start_after; // only for ListObjectsV2.
std::string key_marker; // only for GetObjectVersions.
unsigned int max_keys = 1000;
std::string prefix;
std::string continuation_token; // only for ListObjectsV2.
bool fetch_owner = false; // only for ListObjectsV2.
std::string version_id_marker; // only for GetObjectVersions.
bool include_user_metadata = false; // MinIO extension for ListObjectsV2.
bool recursive = false;
bool use_api_v1 = false;
bool include_versions = false;
}; // struct ListObjectsArgs
struct ListObjectsCommonArgs : public BucketArgs {
std::string delimiter;
std::string encoding_type;
unsigned int max_keys = 1000;
std::string prefix;
}; // struct ListObjectsCommonArgs
struct ListObjectsV1Args : public ListObjectsCommonArgs {
std::string marker;
ListObjectsV1Args();
ListObjectsV1Args(ListObjectsArgs args);
}; // struct ListObjectsV1Args
struct ListObjectsV2Args : public ListObjectsCommonArgs {
std::string start_after;
std::string continuation_token;
bool fetch_owner;
bool include_user_metadata;
ListObjectsV2Args();
ListObjectsV2Args(ListObjectsArgs args);
}; // struct ListObjectsV2Args
struct ListObjectVersionsArgs : public ListObjectsCommonArgs {
std::string key_marker;
std::string version_id_marker;
ListObjectVersionsArgs();
ListObjectVersionsArgs(ListObjectsArgs args);
}; // struct ListObjectVersionsArgs
struct PutObjectArgs : public PutObjectBaseArgs {
std::istream &stream;
PutObjectArgs(std::istream &stream, long objectsize, long partsize);
error::Error Validate();
}; // struct PutObjectArgs
using CopySource = ObjectConditionalReadArgs;
struct CopyObjectArgs : public ObjectWriteArgs {
CopySource source;
Directive *metadata_directive = NULL;
Directive *tagging_directive = NULL;
error::Error Validate();
}; // struct CopyObjectArgs
struct ComposeSource : public ObjectConditionalReadArgs {
error::Error BuildHeaders(size_t object_size, std::string etag);
size_t ObjectSize();
utils::Multimap Headers();
private:
long object_size_ = -1;
utils::Multimap headers_;
}; // struct ComposeSource
struct ComposeObjectArgs : public ObjectWriteArgs {
std::list<ComposeSource> sources;
error::Error Validate();
}; // struct ComposeObjectArgs
struct UploadObjectArgs : public PutObjectBaseArgs {
std::string filename;
error::Error Validate();
}; // struct PutObjectArgs
} // namespace s3
} // namespace minio
#endif // #ifndef __MINIO_S3_ARGS_H

View File

@@ -1,134 +0,0 @@
// MinIO C++ Library for Amazon S3 Compatible Cloud Storage
// Copyright 2022 MinIO, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef _MINIO_S3_CLIENT_H
#define _MINIO_S3_CLIENT_H
#include <fstream>
#include "args.h"
#include "request-builder.h"
#include "response.h"
namespace minio {
namespace s3 {
utils::Multimap GetCommonListObjectsQueryParams(std::string delimiter,
std::string encoding_type,
unsigned int max_keys,
std::string prefix);
class ListObjectsResult;
/**
* Simple Storage Service (aka S3) client to perform bucket and object
* operations asynchronously.
*/
class Client {
private:
http::BaseUrl& base_url_;
creds::Provider* provider_ = NULL;
std::map<std::string, std::string> region_map_;
bool debug_ = false;
bool ignore_cert_check_ = false;
public:
Client(http::BaseUrl& base_url, creds::Provider* provider = NULL);
void Debug(bool flag) { debug_ = flag; }
void IgnoreCertCheck(bool flag) { ignore_cert_check_ = flag; }
void HandleRedirectResponse(std::string& code, std::string& message,
int status_code, http::Method method,
utils::Multimap headers,
std::string_view bucket_name, bool retry = false);
Response GetErrorResponse(http::Response resp, std::string_view resource,
http::Method method, std::string_view bucket_name,
std::string_view object_name);
Response execute(RequestBuilder& builder);
Response Execute(RequestBuilder& builder);
// S3 APIs
ListObjectsResponse ListObjectsV1(ListObjectsV1Args args);
ListObjectsResponse ListObjectsV2(ListObjectsV2Args args);
ListObjectsResponse ListObjectVersions(ListObjectVersionsArgs args);
// Bucket operations
GetRegionResponse GetRegion(std::string_view bucket_name,
std::string_view region = "");
MakeBucketResponse MakeBucket(MakeBucketArgs args);
ListBucketsResponse ListBuckets(ListBucketsArgs args);
ListBucketsResponse ListBuckets();
BucketExistsResponse BucketExists(BucketExistsArgs args);
RemoveBucketResponse RemoveBucket(RemoveBucketArgs args);
// Object operations
AbortMultipartUploadResponse AbortMultipartUpload(
AbortMultipartUploadArgs args);
CompleteMultipartUploadResponse CompleteMultipartUpload(
CompleteMultipartUploadArgs args);
CreateMultipartUploadResponse CreateMultipartUpload(
CreateMultipartUploadArgs args);
PutObjectResponse PutObject(PutObjectApiArgs args);
UploadPartResponse UploadPart(UploadPartArgs args);
UploadPartCopyResponse UploadPartCopy(UploadPartCopyArgs args);
StatObjectResponse StatObject(StatObjectArgs args);
RemoveObjectResponse RemoveObject(RemoveObjectArgs args);
DownloadObjectResponse DownloadObject(DownloadObjectArgs args);
GetObjectResponse GetObject(GetObjectArgs args);
ListObjectsResult ListObjects(ListObjectsArgs args);
PutObjectResponse PutObject(PutObjectArgs& args, std::string& upload_id,
char* buf);
PutObjectResponse PutObject(PutObjectArgs args);
CopyObjectResponse CopyObject(CopyObjectArgs args);
StatObjectResponse CalculatePartCount(size_t& part_count,
std::list<ComposeSource> sources);
ComposeObjectResponse ComposeObject(ComposeObjectArgs args,
std::string& upload_id);
ComposeObjectResponse ComposeObject(ComposeObjectArgs args);
UploadObjectResponse UploadObject(UploadObjectArgs args);
}; // class Client
class ListObjectsResult {
private:
Client* client_ = NULL;
ListObjectsArgs* args_ = NULL;
bool failed_ = false;
ListObjectsResponse resp_;
std::list<Item>::iterator itr_;
void Populate();
public:
ListObjectsResult(error::Error err);
ListObjectsResult(Client* client, ListObjectsArgs* args);
Item& operator*() const { return *itr_; }
operator bool() const { return itr_ != resp_.contents.end(); }
ListObjectsResult& operator++() {
itr_++;
if (!failed_ && itr_ == resp_.contents.end() && resp_.is_truncated) {
Populate();
}
return *this;
}
ListObjectsResult operator++(int) {
ListObjectsResult curr = *this;
++(*this);
return curr;
}
}; // class ListObjectsResult
} // namespace s3
} // namespace minio
#endif // #ifndef __MINIO_S3_CLIENT_H

View File

@@ -1,70 +0,0 @@
// MinIO C++ Library for Amazon S3 Compatible Cloud Storage
// Copyright 2022 MinIO, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef _MINIO_CREDS_H
#define _MINIO_CREDS_H
#include <string>
namespace minio {
namespace creds {
/**
* Credentials contains access key and secret key with optional session token
* and expiration.
*/
class Credentials {
private:
std::string_view access_key_;
std::string_view secret_key_;
std::string_view session_token_;
unsigned int expiration_;
public:
Credentials(const Credentials& creds);
Credentials(std::string_view access_key, std::string_view secret_key,
std::string_view session_token = "", unsigned int expiration = 0);
std::string AccessKey();
std::string SecretKey();
std::string SessionToken();
bool IsExpired();
}; // class Credentials
/**
* Credential provider interface.
*/
class Provider {
public:
Provider() {}
virtual ~Provider() {}
virtual Credentials Fetch() = 0;
}; // class Provider
/**
* Static credential provider.
*/
class StaticProvider : public Provider {
private:
Credentials* creds_ = NULL;
public:
StaticProvider(std::string_view access_key, std::string_view secret_key,
std::string_view session_token = "");
~StaticProvider();
Credentials Fetch();
}; // class StaticProvider
} // namespace creds
} // namespace minio
#endif // #ifndef _MINIO_CREDS_H

View File

@@ -1,38 +0,0 @@
// MinIO C++ Library for Amazon S3 Compatible Cloud Storage
// Copyright 2022 MinIO, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef _MINIO_ERROR_H
#define _MINIO_ERROR_H
#include <string>
namespace minio {
namespace error {
class Error {
private:
std::string msg_;
public:
Error() {}
Error(std::string_view msg) { msg_ = std::string(msg); }
std::string String() { return msg_; }
operator bool() const { return !msg_.empty(); }
}; // class Error
const static Error SUCCESS;
} // namespace error
} // namespace minio
#endif // #ifndef _MINIO_ERROR_H

View File

@@ -1,134 +0,0 @@
// MinIO C++ Library for Amazon S3 Compatible Cloud Storage
// Copyright 2022 MinIO, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef _MINIO_HTTP_H
#define _MINIO_HTTP_H
#include <curlpp/Easy.hpp>
#include <curlpp/Options.hpp>
#include "utils.h"
namespace minio {
namespace http {
enum class Method { kGet, kHead, kPost, kPut, kDelete };
// MethodToString converts http Method enum to string.
constexpr const char* MethodToString(Method& method) throw() {
switch (method) {
case Method::kGet:
return "GET";
case Method::kHead:
return "HEAD";
case Method::kPost:
return "POST";
case Method::kPut:
return "PUT";
case Method::kDelete:
return "DELETE";
default: {
std::cerr << "ABORT: Unimplemented HTTP method. This should not happen."
<< std::endl;
std::terminate();
}
}
return NULL;
}
// ExtractRegion extracts region value from AWS S3 host string.
std::string ExtractRegion(std::string host);
struct BaseUrl {
std::string host;
bool is_https = true;
unsigned int port = 0;
std::string region;
bool aws_host = false;
bool accelerate_host = false;
bool dualstack_host = false;
bool virtual_style = false;
error::Error SetHost(std::string hostvalue);
std::string GetHostHeaderValue();
error::Error BuildUrl(utils::Url& url, Method method, std::string region,
utils::Multimap query_params,
std::string bucket_name = "",
std::string object_name = "");
operator bool() const { return !host.empty(); }
}; // struct BaseUrl
struct DataCallbackArgs;
typedef size_t (*DataCallback)(DataCallbackArgs args);
struct Response;
struct DataCallbackArgs {
curlpp::Easy* handle = NULL;
Response* response = NULL;
char* buffer = NULL;
size_t size = 0;
size_t length = 0;
void* user_arg = NULL;
}; // struct DataCallbackArgs
struct Request {
Method method;
utils::Url url;
utils::Multimap headers;
std::string_view body = "";
DataCallback data_callback = NULL;
void* user_arg = NULL;
bool debug = false;
bool ignore_cert_check = false;
Request(Method httpmethod, utils::Url httpurl);
Response Execute();
operator bool() const {
if (method < Method::kGet || method > Method::kDelete) return false;
return url;
}
private:
Response execute();
}; // struct Request
struct Response {
std::string error;
DataCallback data_callback = NULL;
void* user_arg = NULL;
int status_code = 0;
utils::Multimap headers;
std::string body;
size_t ResponseCallback(curlpp::Easy* handle, char* buffer, size_t size,
size_t length);
operator bool() const {
return error.empty() && status_code >= 200 && status_code <= 299;
}
private:
std::string response_;
bool continue100_ = false;
bool status_code_read_ = false;
bool headers_read_ = false;
size_t ReadStatusCode(char* buffer, size_t size, size_t length);
size_t ReadHeaders(curlpp::Easy* handle, char* buffer, size_t size,
size_t length);
}; // struct Response
} // namespace http
} // namespace minio
#endif // #ifndef _MINIO_HTTP_H

View File

@@ -1,57 +0,0 @@
// MinIO C++ Library for Amazon S3 Compatible Cloud Storage
// Copyright 2022 MinIO, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef _MINIO_REQUEST_BUILDER_H
#define _MINIO_REQUEST_BUILDER_H
#include "creds.h"
#include "signer.h"
namespace minio {
namespace s3 {
struct RequestBuilder {
http::Method method;
std::string region;
http::BaseUrl& base_url;
std::string user_agent;
utils::Multimap headers;
utils::Multimap query_params;
std::string bucket_name;
std::string object_name;
std::string_view body = "";
http::DataCallback data_callback = NULL;
void* user_arg = NULL;
std::string sha256;
utils::Time date;
bool debug = false;
bool ignore_cert_check = false;
RequestBuilder(http::Method httpmethod, std::string regionvalue,
http::BaseUrl& baseurl);
http::Request Build(creds::Provider* provider = NULL);
private:
void BuildHeaders(utils::Url& url, creds::Provider* provider);
}; // struct RequestBuilder
} // namespace s3
} // namespace minio
#endif // #ifndef __MINIO_REQUEST_BUILDER_H

View File

@@ -1,198 +0,0 @@
// MinIO C++ Library for Amazon S3 Compatible Cloud Storage
// Copyright 2022 MinIO, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef _MINIO_S3_RESPONSE_H
#define _MINIO_S3_RESPONSE_H
#include <pugixml.hpp>
#include "types.h"
namespace minio {
namespace s3 {
struct Response {
std::string error;
int status_code = 0;
utils::Multimap headers;
std::string data;
std::string code;
std::string message;
std::string resource;
std::string request_id;
std::string host_id;
std::string bucket_name;
std::string object_name;
Response();
Response(error::Error err);
Response(const Response& response);
operator bool() const {
return error.empty() && code.empty() && message.empty() &&
(status_code == 0 || status_code >= 200 && status_code <= 299);
}
std::string GetError();
static Response ParseXML(std::string_view data, int status_code,
utils::Multimap headers);
}; // struct Response
struct GetRegionResponse : public Response {
std::string region;
GetRegionResponse(std::string regionvalue);
GetRegionResponse(error::Error err);
GetRegionResponse(const Response& response);
}; // struct GetRegionResponse
using MakeBucketResponse = Response;
struct ListBucketsResponse : public Response {
std::list<Bucket> buckets;
ListBucketsResponse(std::list<Bucket> bucketlist);
ListBucketsResponse(error::Error err);
ListBucketsResponse(const Response& response);
static ListBucketsResponse ParseXML(std::string_view data);
}; // struct ListBucketsResponse
struct BucketExistsResponse : public Response {
bool exist = false;
BucketExistsResponse(bool existflag);
BucketExistsResponse(error::Error err);
BucketExistsResponse(const Response& response);
}; // struct BucketExistsResponse
using RemoveBucketResponse = Response;
using AbortMultipartUploadResponse = Response;
struct CompleteMultipartUploadResponse : public Response {
std::string location;
std::string etag;
std::string version_id;
CompleteMultipartUploadResponse();
CompleteMultipartUploadResponse(error::Error err);
CompleteMultipartUploadResponse(const Response& response);
static CompleteMultipartUploadResponse ParseXML(std::string_view data,
std::string version_id);
}; // struct CompleteMultipartUploadResponse
struct CreateMultipartUploadResponse : public Response {
std::string upload_id;
CreateMultipartUploadResponse(std::string uploadid);
CreateMultipartUploadResponse(error::Error err);
CreateMultipartUploadResponse(const Response& response);
}; // struct CreateMultipartUploadResponse
struct PutObjectResponse : public Response {
std::string etag;
std::string version_id;
PutObjectResponse();
PutObjectResponse(error::Error err);
PutObjectResponse(const Response& response);
}; // struct PutObjectResponse
using UploadPartResponse = PutObjectResponse;
using UploadPartCopyResponse = PutObjectResponse;
struct StatObjectResponse : public Response {
std::string version_id;
std::string etag;
size_t size = 0;
utils::Time last_modified;
RetentionMode retention_mode;
utils::Time retention_retain_until_date;
LegalHold legal_hold;
bool delete_marker;
utils::Multimap user_metadata;
StatObjectResponse();
StatObjectResponse(error::Error err);
StatObjectResponse(const Response& response);
}; // struct StatObjectResponse
using RemoveObjectResponse = Response;
using DownloadObjectResponse = Response;
using GetObjectResponse = Response;
struct Item : public Response {
std::string etag; // except DeleteMarker
std::string name;
utils::Time last_modified;
std::string owner_id;
std::string owner_name;
size_t size = 0; // except DeleteMarker
std::string storage_class;
bool is_latest = false; // except ListObjects V1/V2
std::string version_id; // except ListObjects V1/V2
std::map<std::string, std::string> user_metadata;
bool is_prefix = false;
bool is_delete_marker = false;
std::string encoding_type;
Item();
Item(error::Error err);
Item(const Response& response);
}; // struct Item
struct ListObjectsResponse : public Response {
// Common
std::string name;
std::string encoding_type;
std::string prefix;
std::string delimiter;
bool is_truncated;
unsigned int max_keys;
std::list<Item> contents;
// ListObjectsV1
std::string marker;
std::string next_marker;
// ListObjectsV2
unsigned int key_count;
std::string start_after;
std::string continuation_token;
std::string next_continuation_token;
// ListObjectVersions
std::string key_marker;
std::string next_key_marker;
std::string version_id_marker;
std::string next_version_id_marker;
ListObjectsResponse();
ListObjectsResponse(error::Error err);
ListObjectsResponse(const Response& response);
static ListObjectsResponse ParseXML(std::string_view data, bool version);
}; // struct ListObjectsResponse
using CopyObjectResponse = PutObjectResponse;
using ComposeObjectResponse = PutObjectResponse;
using UploadObjectResponse = PutObjectResponse;
} // namespace s3
} // namespace minio
#endif // #ifndef _MINIO_S3_RESPONSE_H

View File

@@ -1,65 +0,0 @@
// MinIO C++ Library for Amazon S3 Compatible Cloud Storage
// Copyright 2022 MinIO, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef _MINIO_SIGNER_H
#define _MINIO_SIGNER_H
#include <openssl/hmac.h>
#include "http.h"
namespace minio {
namespace signer {
std::string GetScope(utils::Time& time, std::string_view region,
std::string_view service_name);
std::string GetCanonicalRequestHash(std::string_view method,
std::string_view uri,
std::string_view query_string,
std::string_view headers,
std::string_view signed_headers,
std::string_view content_sha256);
std::string GetStringToSign(utils::Time& date, std::string_view scope,
std::string_view canonical_request_hash);
std::string HmacHash(std::string_view key, std::string_view data);
std::string GetSigningKey(std::string_view secret_key, utils::Time& date,
std::string_view region,
std::string_view service_name);
std::string GetSignature(std::string_view signing_key,
std::string_view string_to_sign);
std::string GetAuthorization(std::string_view access_key,
std::string_view scope,
std::string_view signed_headers,
std::string_view signature);
utils::Multimap& SignV4(std::string_view service_name, http::Method& method,
std::string_view uri, std::string_view region,
utils::Multimap& headers, utils::Multimap& query_params,
std::string_view access_key,
std::string_view secret_key,
std::string_view content_sha256, utils::Time& date);
utils::Multimap& SignV4S3(http::Method& method, std::string_view uri,
std::string_view region, utils::Multimap& headers,
utils::Multimap& query_params,
std::string_view access_key,
std::string_view secret_key,
std::string_view content_sha256, utils::Time& date);
utils::Multimap& SignV4STS(http::Method& method, std::string_view uri,
std::string_view region, utils::Multimap& headers,
utils::Multimap& query_params,
std::string_view access_key,
std::string_view secret_key,
std::string_view content_sha256, utils::Time& date);
} // namespace signer
} // namespace minio
#endif // #ifndef __MINIO_SIGNER_H

View File

@@ -1,67 +0,0 @@
// MinIO C++ Library for Amazon S3 Compatible Cloud Storage
// Copyright 2022 MinIO, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef _MINIO_S3_SSE_H
#define _MINIO_S3_SSE_H
#include "utils.h"
namespace minio {
namespace s3 {
class Sse {
public:
utils::Multimap empty_;
public:
Sse() {}
virtual ~Sse() {}
bool TlsRequired() { return true; }
utils::Multimap CopyHeaders() { return empty_; }
virtual utils::Multimap Headers() = 0;
}; // class Sse
class SseCustomerKey : public Sse {
private:
utils::Multimap headers;
utils::Multimap copy_headers;
public:
SseCustomerKey(std::string_view key);
utils::Multimap Headers() { return headers; }
utils::Multimap CopyHeaders() { return copy_headers; }
}; // class SseCustomerKey
class SseKms : public Sse {
private:
utils::Multimap headers;
public:
SseKms(std::string_view key, std::string_view context);
utils::Multimap Headers() { return headers; }
}; // class SseKms
class SseS3 : public Sse {
private:
utils::Multimap headers;
public:
SseS3();
utils::Multimap Headers() { return headers; }
bool TlsRequired() { return false; }
}; // class SseS3
} // namespace s3
} // namespace minio
#endif // #ifndef __MINIO_S3_SSE_H

View File

@@ -1,124 +0,0 @@
// MinIO C++ Library for Amazon S3 Compatible Cloud Storage
// Copyright 2022 MinIO, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef _MINIO_S3_TYPES_H
#define _MINIO_S3_TYPES_H
#include <iostream>
#include "utils.h"
namespace minio {
namespace s3 {
enum class RetentionMode { kGovernance, kCompliance };
// StringToRetentionMode converts string to retention mode enum.
RetentionMode StringToRetentionMode(std::string_view str) throw();
constexpr bool IsRetentionModeValid(RetentionMode& retention) {
switch (retention) {
case RetentionMode::kGovernance:
case RetentionMode::kCompliance:
return true;
}
return false;
}
// RetentionModeToString converts retention mode enum to string.
constexpr const char* RetentionModeToString(RetentionMode& retention) throw() {
switch (retention) {
case RetentionMode::kGovernance:
return "GOVERNANCE";
case RetentionMode::kCompliance:
return "COMPLIANCE";
default: {
std::cerr << "ABORT: Unknown retention mode. This should not happen."
<< std::endl;
std::terminate();
}
}
return NULL;
}
enum class LegalHold { kOn, kOff };
// StringToLegalHold converts string to legal hold enum.
LegalHold StringToLegalHold(std::string_view str) throw();
constexpr bool IsLegalHoldValid(LegalHold& legal_hold) {
switch (legal_hold) {
case LegalHold::kOn:
case LegalHold::kOff:
return true;
}
return false;
}
// LegalHoldToString converts legal hold enum to string.
constexpr const char* LegalHoldToString(LegalHold& legal_hold) throw() {
switch (legal_hold) {
case LegalHold::kOn:
return "ON";
case LegalHold::kOff:
return "OFF";
default: {
std::cerr << "ABORT: Unknown legal hold. This should not happen."
<< std::endl;
std::terminate();
}
}
return NULL;
}
enum class Directive { kCopy, kReplace };
// StringToDirective converts string to directive enum.
Directive StringToDirective(std::string_view str) throw();
// DirectiveToString converts directive enum to string.
constexpr const char* DirectiveToString(Directive& directive) throw() {
switch (directive) {
case Directive::kCopy:
return "COPY";
case Directive::kReplace:
return "REPLACE";
default: {
std::cerr << "ABORT: Unknown directive. This should not happen."
<< std::endl;
std::terminate();
}
}
return NULL;
}
struct Bucket {
std::string name;
utils::Time creation_date;
}; // struct Bucket
struct Part {
unsigned int number;
std::string etag;
utils::Time last_modified;
size_t size;
}; // struct Part
struct Retention {
RetentionMode mode;
utils::Time retain_until_date;
}; // struct Retention
} // namespace s3
} // namespace minio
#endif // #ifndef __MINIO_S3_TYPES_H

View File

@@ -1,178 +0,0 @@
// MinIO C++ Library for Amazon S3 Compatible Cloud Storage
// Copyright 2022 MinIO, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef _MINIO_UTILS_H
#define _MINIO_UTILS_H
#include <openssl/buffer.h>
#include <openssl/evp.h>
#include <cmath>
#include <cstring>
#include <curlpp/cURLpp.hpp>
#include <list>
#include <regex>
#include <set>
#include "error.h"
namespace minio {
namespace utils {
inline constexpr unsigned int kMaxMultipartCount = 10000; // 10000 parts
inline constexpr unsigned long kMaxObjectSize =
5L * 1024 * 1024 * 1024 * 1024; // 5TiB
inline constexpr unsigned long kMaxPartSize = 5L * 1024 * 1024 * 1024; // 5GiB
inline constexpr unsigned int kMinPartSize = 5 * 1024 * 1024; // 5MiB
// FormatTime formats time as per format.
std::string FormatTime(const std::tm* time, const char* format);
// StringToBool converts string to bool.
bool StringToBool(std::string_view str);
// BoolToString converts bool to string.
inline const char* const BoolToString(bool b) { return b ? "true" : "false"; }
// Trim trims leading and trailing character of a string.
std::string Trim(std::string_view str, char ch = ' ');
// CheckNonemptystring checks whether string is not empty after trimming
// whitespaces.
bool CheckNonEmptyString(std::string_view str);
// ToLower converts string to lower case.
std::string ToLower(std::string str);
// StartsWith returns whether str starts with prefix or not.
bool StartsWith(std::string_view str, std::string_view prefix);
// EndsWith returns whether str ends with suffix or not.
bool EndsWith(std::string_view str, std::string_view suffix);
// Contains returns whether str has ch.
bool Contains(std::string_view str, char ch);
// Contains returns whether str has substr.
bool Contains(std::string_view str, std::string_view substr);
// Join returns a string of joined values by delimiter.
std::string Join(std::list<std::string> values, std::string delimiter);
// Join returns a string of joined values by delimiter.
std::string Join(std::vector<std::string> values, std::string delimiter);
// EncodePath does URL encoding of path. It also normalizes multiple slashes.
std::string EncodePath(std::string_view path);
// Sha256hash computes SHA-256 of data and return hash as hex encoded value.
std::string Sha256Hash(std::string_view str);
// Base64Encode encodes string to base64.
std::string Base64Encode(std::string_view str);
// Md5sumHash computes MD5 of data and return hash as Base64 encoded value.
std::string Md5sumHash(std::string_view str);
error::Error CheckBucketName(std::string_view bucket_name, bool strict = false);
error::Error ReadPart(std::istream& stream, char* buf, size_t size,
size_t& bytes_read);
error::Error CalcPartInfo(long object_size, size_t& part_size,
long& part_count);
/**
* Time represents date and time with timezone.
*/
class Time {
private:
struct timeval tv_;
bool utc_;
public:
Time();
Time(std::time_t tv_sec, suseconds_t tv_usec, bool utc);
std::tm* ToUTC();
std::string ToSignerDate();
std::string ToAmzDate();
std::string ToHttpHeaderValue();
static Time FromHttpHeaderValue(const char* value);
std::string ToISO8601UTC();
static Time FromISO8601UTC(const char* value);
static Time Now();
operator bool() const { return tv_.tv_sec != 0 && tv_.tv_usec != 0; }
}; // class Time
/**
* Multimap represents dictionary of keys and their multiple values.
*/
class Multimap {
private:
std::map<std::string, std::set<std::string>> map_;
std::map<std::string, std::set<std::string>> keys_;
public:
Multimap();
Multimap(const Multimap& headers);
void Add(std::string key, std::string value);
void AddAll(const Multimap& headers);
std::list<std::string> ToHttpHeaders();
std::string ToQueryString();
operator bool() const { return !map_.empty(); }
bool Contains(std::string_view key);
std::list<std::string> Get(std::string_view key);
std::string GetFront(std::string_view key);
std::list<std::string> Keys();
void GetCanonicalHeaders(std::string& signed_headers,
std::string& canonical_headers);
std::string GetCanonicalQueryString();
}; // class Multimap
/**
* Url represents HTTP URL and it's components.
*/
struct Url {
bool is_https;
std::string host;
std::string path;
std::string query_string;
operator bool() const { return !host.empty(); }
std::string String();
}; // struct Url
/**
* CharBuffer represents stream buffer wrapping character array and its size.
*/
struct CharBuffer : std::streambuf {
CharBuffer(char* buf, size_t size) { this->setg(buf, buf, buf + size); }
pos_type seekoff(off_type off, std::ios_base::seekdir dir,
std::ios_base::openmode which = std::ios_base::in) override {
if (dir == std::ios_base::cur)
gbump(off);
else if (dir == std::ios_base::end)
setg(eback(), egptr() + off, egptr());
else if (dir == std::ios_base::beg)
setg(eback(), eback() + off, egptr());
return gptr() - eback();
}
pos_type seekpos(pos_type sp, std::ios_base::openmode which) override {
return seekoff(sp - pos_type(off_type(0)), std::ios_base::beg, which);
}
}; // struct CharBuffer
} // namespace utils
} // namespace minio
#endif // #ifndef _MINIO_UTILS_H

168
index.html Normal file
View File

@@ -0,0 +1,168 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="PageDoc"><div class="header">
<div class="headertitle">
<div class="title">MinIO C++ SDK Documentation</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p><a class="anchor" id="md__home_bala_devel_github_com_minio_minio_cpp_docs_README"></a></p><blockquote class="doxtable">
<p>NOTE: This project is work in progress. </p>
</blockquote>
<p>MinIO C++ SDK is Simple Storage Service (aka S3) client to perform bucket and object operations to any Amazon S3 compatible object storage service.</p>
<p>For a complete list of APIs and examples, please take a look at the <a href="https://minio-cpp.min.io/">MinIO C++ Client API Reference</a></p>
<h2><a class="anchor" id="autotoc_md0"></a>
Build requirements</h2>
<ul>
<li>A working C++ development environment supporting C++17 standards.</li>
<li>CMake 3.10 or higher.</li>
<li><a href="https://vcpkg.io/en/index.html">vcpkg</a>.</li>
</ul>
<h2><a class="anchor" id="autotoc_md1"></a>
Install from vcpkg</h2>
<div class="fragment"><div class="line">vcpkg install minio-cpp</div>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md2"></a>
Building source</h2>
<div class="fragment"><div class="line">$ git clone https://github.com/minio/minio-cpp</div>
<div class="line">$ cd minio-cpp</div>
<div class="line">$ wget --quiet -O vcpkg-master.zip https://github.com/microsoft/vcpkg/archive/refs/heads/master.zip</div>
<div class="line">$ unzip -qq vcpkg-master.zip</div>
<div class="line">$ ./vcpkg-master/bootstrap-vcpkg.sh</div>
<div class="line">$ ./vcpkg-master/vcpkg integrate install</div>
<div class="line">$ cmake -B ./build -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=./vcpkg-master/scripts/buildsystems/vcpkg.cmake</div>
<div class="line">$ cmake --build ./build --config Debug</div>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md3"></a>
Example:: file-uploader.cc</h2>
<div class="fragment"><div class="line">#include &lt;client.h&gt;</div>
<div class="line"> </div>
<div class="line">int main(int argc, char* argv[]) {</div>
<div class="line"> // Create S3 base URL.</div>
<div class="line"> minio::http::BaseUrl base_url;</div>
<div class="line"> base_url.SetHost(&quot;play.min.io&quot;);</div>
<div class="line"> </div>
<div class="line"> // Create credential provider.</div>
<div class="line"> minio::creds::StaticProvider provider(</div>
<div class="line"> &quot;Q3AM3UQ867SPQQA43P2F&quot;, &quot;zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG&quot;);</div>
<div class="line"> </div>
<div class="line"> // Create S3 client.</div>
<div class="line"> minio::s3::Client client(base_url, &amp;provider);</div>
<div class="line"> </div>
<div class="line"> std::string bucket_name = &quot;asiatrip&quot;;</div>
<div class="line"> </div>
<div class="line"> // Check &#39;asiatrip&#39; bucket exist or not.</div>
<div class="line"> bool exist;</div>
<div class="line"> {</div>
<div class="line"> minio::s3::BucketExistsArgs args;</div>
<div class="line"> args.bucket_ = bucket_name;</div>
<div class="line"> </div>
<div class="line"> minio::s3::BucketExistsResponse resp = client.BucketExists(args);</div>
<div class="line"> if (!resp) {</div>
<div class="line"> std::cout &lt;&lt; &quot;unable to do bucket existence check; &quot; &lt;&lt; resp.GetError()</div>
<div class="line"> &lt;&lt; std::endl;</div>
<div class="line"> return EXIT_FAILURE;</div>
<div class="line"> }</div>
<div class="line"> </div>
<div class="line"> exist = resp.exist_;</div>
<div class="line"> }</div>
<div class="line"> </div>
<div class="line"> // Make &#39;asiatrip&#39; bucket if not exist.</div>
<div class="line"> if (!exist) {</div>
<div class="line"> minio::s3::MakeBucketArgs args;</div>
<div class="line"> args.bucket_ = bucket_name;</div>
<div class="line"> </div>
<div class="line"> minio::s3::MakeBucketResponse resp = client.MakeBucket(args);</div>
<div class="line"> if (!resp) {</div>
<div class="line"> std::cout &lt;&lt; &quot;unable to create bucket; &quot; &lt;&lt; resp.GetError() &lt;&lt; std::endl;</div>
<div class="line"> return EXIT_FAILURE;</div>
<div class="line"> }</div>
<div class="line"> }</div>
<div class="line"> </div>
<div class="line"> // Upload &#39;/home/user/Photos/asiaphotos.zip&#39; as object name</div>
<div class="line"> // &#39;asiaphotos-2015.zip&#39; to bucket &#39;asiatrip&#39;.</div>
<div class="line"> minio::s3::UploadObjectArgs args;</div>
<div class="line"> args.bucket_ = bucket_name;</div>
<div class="line"> args.object_ = &quot;asiaphotos-2015.zip&quot;;</div>
<div class="line"> args.filename_ = &quot;/home/user/Photos/asiaphotos.zip&quot;;</div>
<div class="line"> </div>
<div class="line"> minio::s3::UploadObjectResponse resp = client.UploadObject(args);</div>
<div class="line"> if (!resp) {</div>
<div class="line"> std::cout &lt;&lt; &quot;unable to upload object; &quot; &lt;&lt; resp.GetError() &lt;&lt; std::endl;</div>
<div class="line"> return EXIT_FAILURE;</div>
<div class="line"> }</div>
<div class="line"> </div>
<div class="line"> std::cout &lt;&lt; &quot;&#39;/home/user/Photos/asiaphotos.zip&#39; is successfully uploaded as &quot;</div>
<div class="line"> &lt;&lt; &quot;object &#39;asiaphotos-2015.zip&#39; to bucket &#39;asiatrip&#39;.&quot;</div>
<div class="line"> &lt;&lt; std::endl;</div>
<div class="line"> </div>
<div class="line"> return EXIT_SUCCESS;</div>
<div class="line">}</div>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md4"></a>
License</h2>
<p>This SDK is distributed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>, see <a href="https://github.com/minio/minio-cpp/blob/master/LICENSE">LICENSE</a> for more information. </p>
</div></div><!-- PageDoc -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

35
jquery.js vendored Normal file

File diff suppressed because one or more lines are too long

51
menu.js Normal file
View File

@@ -0,0 +1,51 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@licend The above is the entire license notice for the JavaScript code in this file
*/
function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
function makeTree(data,relPath) {
var result='';
if ('children' in data) {
result+='<ul>';
for (var i in data.children) {
result+='<li><a href="'+relPath+data.children[i].url+'">'+
data.children[i].text+'</a>'+
makeTree(data.children[i],relPath)+'</li>';
}
result+='</ul>';
}
return result;
}
$('#main-nav').append(makeTree(menudata,relPath));
$('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
if (searchEnabled) {
if (serverSide) {
$('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><div class="left"><form id="FSearchBox" action="'+relPath+searchPage+'" method="get"><img id="MSearchSelect" src="'+relPath+'search/mag.svg" alt=""/><input type="text" id="MSearchField" name="query" value="'+search+'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"></form></div><div class="right"></div></div></li>');
} else {
$('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><span class="left"><img id="MSearchSelect" src="'+relPath+'search/mag_sel.svg" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/><input type="text" id="MSearchField" value="'+search+'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/></span><span class="right"><a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="'+relPath+'search/close.svg" alt=""/></a></span></div></li>');
}
}
$('#main-menu').smartmenus();
}
/* @license-end */

32
menudata.js Normal file
View File

@@ -0,0 +1,32 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@licend The above is the entire license notice for the JavaScript code in this file
*/
var menudata={children:[
{text:"Main Page",url:"index.html"},
{text:"Classes",url:"annotated.html",children:[
{text:"Class List",url:"annotated.html"},
{text:"Class Index",url:"classes.html"},
{text:"Class Hierarchy",url:"hierarchy.html"}]},
{text:"Files",url:"files.html",children:[
{text:"File List",url:"files.html"}]}]}

View File

@@ -1,12 +0,0 @@
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=@CMAKE_INSTALL_PREFIX@
libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
Name: @PROJECT_NAME@
Description: @PROJECT_DESCRIPTION@
Version: @PROJECT_VERSION@
Requires:
Libs: -L${libdir} -lminiocpp
Cflags: -I${includedir}

BIN
nav_f.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 B

BIN
nav_g.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 B

BIN
nav_h.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 B

BIN
open.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 B

View File

@@ -0,0 +1,142 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: /home/bala/devel/github.com/minio/minio-cpp/include/request-builder.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">request-builder.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// MinIO C++ Library for Amazon S3 Compatible Cloud Storage</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Copyright 2022 MinIO, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// you may not use this file except in compliance with the License.</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// You may obtain a copy of the License at</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// http://www.apache.org/licenses/LICENSE-2.0</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// limitations under the License.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; </div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#ifndef _MINIO_REQUEST_BUILDER_H</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#define _MINIO_REQUEST_BUILDER_H</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &quot;creds.h&quot;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;signer.h&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; </div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="keyword">namespace </span>minio {</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="keyword">namespace </span>s3 {</div>
<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1RequestBuilder.html"> 24</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1RequestBuilder.html">RequestBuilder</a> {</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; http::Method method;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; std::string region;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <a class="code" href="structminio_1_1http_1_1BaseUrl.html">http::BaseUrl</a>&amp; base_url;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; </div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; std::string user_agent;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; </div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <a class="code" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a> headers;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <a class="code" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a> query_params;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; </div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; std::string bucket_name;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; std::string object_name;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; </div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; std::string_view body = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; </div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; http::DataCallback data_callback = NULL;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordtype">void</span>* user_arg = NULL;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; std::string sha256;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="classminio_1_1utils_1_1Time.html">utils::Time</a> date;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; </div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordtype">bool</span> debug = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordtype">bool</span> ignore_cert_check = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="structminio_1_1s3_1_1RequestBuilder.html">RequestBuilder</a>(http::Method httpmethod, std::string regionvalue,</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="structminio_1_1http_1_1BaseUrl.html">http::BaseUrl</a>&amp; baseurl);</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="structminio_1_1http_1_1Request.html">http::Request</a> Build(<a class="code" href="classminio_1_1creds_1_1Provider.html">creds::Provider</a>* provider = NULL);</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordtype">void</span> BuildHeaders(<a class="code" href="structminio_1_1utils_1_1Url.html">utils::Url</a>&amp; url, <a class="code" href="classminio_1_1creds_1_1Provider.html">creds::Provider</a>* provider);</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;}; <span class="comment">// struct RequestBuilder</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;} <span class="comment">// namespace s3</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;} <span class="comment">// namespace minio</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// #ifndef __MINIO_REQUEST_BUILDER_H</span></div>
<div class="ttc" id="aclassminio_1_1creds_1_1Provider_html"><div class="ttname"><a href="classminio_1_1creds_1_1Provider.html">minio::creds::Provider</a></div><div class="ttdef"><b>Definition:</b> creds.h:47</div></div>
<div class="ttc" id="aclassminio_1_1utils_1_1Multimap_html"><div class="ttname"><a href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a></div><div class="ttdef"><b>Definition:</b> utils.h:119</div></div>
<div class="ttc" id="aclassminio_1_1utils_1_1Time_html"><div class="ttname"><a href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a></div><div class="ttdef"><b>Definition:</b> utils.h:97</div></div>
<div class="ttc" id="astructminio_1_1http_1_1BaseUrl_html"><div class="ttname"><a href="structminio_1_1http_1_1BaseUrl.html">minio::http::BaseUrl</a></div><div class="ttdef"><b>Definition:</b> http.h:53</div></div>
<div class="ttc" id="astructminio_1_1http_1_1Request_html"><div class="ttname"><a href="structminio_1_1http_1_1Request.html">minio::http::Request</a></div><div class="ttdef"><b>Definition:</b> http.h:87</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1RequestBuilder_html"><div class="ttname"><a href="structminio_1_1s3_1_1RequestBuilder.html">minio::s3::RequestBuilder</a></div><div class="ttdef"><b>Definition:</b> request-builder.h:24</div></div>
<div class="ttc" id="astructminio_1_1utils_1_1Url_html"><div class="ttname"><a href="structminio_1_1utils_1_1Url.html">minio::utils::Url</a></div><div class="ttdef"><b>Definition:</b> utils.h:144</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

289
response_8h_source.html Normal file
View File

@@ -0,0 +1,289 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MinIO C++ SDK: /home/bala/devel/github.com/minio/minio-cpp/include/response.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MinIO C++ SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">response.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// MinIO C++ Library for Amazon S3 Compatible Cloud Storage</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Copyright 2022 MinIO, Inc.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// you may not use this file except in compliance with the License.</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// You may obtain a copy of the License at</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// http://www.apache.org/licenses/LICENSE-2.0</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// limitations under the License.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; </div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#ifndef _MINIO_S3_RESPONSE_H</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#define _MINIO_S3_RESPONSE_H</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &lt;pugixml.hpp&gt;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;types.h&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="keyword">namespace </span>minio {</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="keyword">namespace </span>s3 {</div>
<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1Response.html"> 25</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1Response.html">Response</a> {</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; std::string error;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keywordtype">int</span> status_code = 0;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <a class="code" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a> headers;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; std::string data;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; </div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; std::string code;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; std::string message;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; std::string resource;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; std::string request_id;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; std::string host_id;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; std::string bucket_name;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; std::string object_name;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; </div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a>();</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a>(<a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> err);</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a>(<span class="keyword">const</span> <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a>&amp; response);</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keyword">operator</span> bool()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">return</span> error.empty() &amp;&amp; code.empty() &amp;&amp; message.empty() &amp;&amp;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; (status_code == 0 || status_code &gt;= 200 &amp;&amp; status_code &lt;= 299);</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; }</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; std::string GetError();</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keyword">static</span> <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a> ParseXML(std::string_view data, <span class="keywordtype">int</span> status_code,</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a> headers);</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;}; <span class="comment">// struct Response</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1GetRegionResponse.html"> 52</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1GetRegionResponse.html">GetRegionResponse</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a> {</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; std::string region;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; </div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="structminio_1_1s3_1_1GetRegionResponse.html">GetRegionResponse</a>(std::string regionvalue);</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="structminio_1_1s3_1_1GetRegionResponse.html">GetRegionResponse</a>(<a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> err);</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <a class="code" href="structminio_1_1s3_1_1GetRegionResponse.html">GetRegionResponse</a>(<span class="keyword">const</span> <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a>&amp; response);</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;}; <span class="comment">// struct GetRegionResponse</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; </div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="keyword">using</span> <a class="code" href="structminio_1_1s3_1_1Response.html">MakeBucketResponse</a> = <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a>;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; </div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1ListBucketsResponse.html"> 62</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1ListBucketsResponse.html">ListBucketsResponse</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a> {</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; std::list&lt;Bucket&gt; buckets;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; </div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="structminio_1_1s3_1_1ListBucketsResponse.html">ListBucketsResponse</a>(std::list&lt;Bucket&gt; bucketlist);</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="structminio_1_1s3_1_1ListBucketsResponse.html">ListBucketsResponse</a>(<a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> err);</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="structminio_1_1s3_1_1ListBucketsResponse.html">ListBucketsResponse</a>(<span class="keyword">const</span> <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a>&amp; response);</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keyword">static</span> <a class="code" href="structminio_1_1s3_1_1ListBucketsResponse.html">ListBucketsResponse</a> ParseXML(std::string_view data);</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;}; <span class="comment">// struct ListBucketsResponse</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; </div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1BucketExistsResponse.html"> 71</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1BucketExistsResponse.html">BucketExistsResponse</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a> {</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordtype">bool</span> exist = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; </div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="structminio_1_1s3_1_1BucketExistsResponse.html">BucketExistsResponse</a>(<span class="keywordtype">bool</span> existflag);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <a class="code" href="structminio_1_1s3_1_1BucketExistsResponse.html">BucketExistsResponse</a>(<a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> err);</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <a class="code" href="structminio_1_1s3_1_1BucketExistsResponse.html">BucketExistsResponse</a>(<span class="keyword">const</span> <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a>&amp; response);</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;}; <span class="comment">// struct BucketExistsResponse</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; </div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="keyword">using</span> <a class="code" href="structminio_1_1s3_1_1Response.html">RemoveBucketResponse</a> = <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a>;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; </div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="keyword">using</span> <a class="code" href="structminio_1_1s3_1_1Response.html">AbortMultipartUploadResponse</a> = <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a>;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; </div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1CompleteMultipartUploadResponse.html"> 83</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1CompleteMultipartUploadResponse.html">CompleteMultipartUploadResponse</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a> {</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; std::string location;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; std::string etag;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; std::string version_id;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; </div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="structminio_1_1s3_1_1CompleteMultipartUploadResponse.html">CompleteMultipartUploadResponse</a>();</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="code" href="structminio_1_1s3_1_1CompleteMultipartUploadResponse.html">CompleteMultipartUploadResponse</a>(<a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> err);</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="structminio_1_1s3_1_1CompleteMultipartUploadResponse.html">CompleteMultipartUploadResponse</a>(<span class="keyword">const</span> <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a>&amp; response);</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keyword">static</span> <a class="code" href="structminio_1_1s3_1_1CompleteMultipartUploadResponse.html">CompleteMultipartUploadResponse</a> ParseXML(std::string_view data,</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; std::string version_id);</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;}; <span class="comment">// struct CompleteMultipartUploadResponse</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; </div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1CreateMultipartUploadResponse.html"> 95</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1CreateMultipartUploadResponse.html">CreateMultipartUploadResponse</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a> {</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; std::string upload_id;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; </div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="structminio_1_1s3_1_1CreateMultipartUploadResponse.html">CreateMultipartUploadResponse</a>(std::string uploadid);</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="structminio_1_1s3_1_1CreateMultipartUploadResponse.html">CreateMultipartUploadResponse</a>(<a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> err);</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <a class="code" href="structminio_1_1s3_1_1CreateMultipartUploadResponse.html">CreateMultipartUploadResponse</a>(<span class="keyword">const</span> <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a>&amp; response);</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;}; <span class="comment">// struct CreateMultipartUploadResponse</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; </div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1PutObjectResponse.html"> 103</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1PutObjectResponse.html">PutObjectResponse</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a> {</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; std::string etag;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; std::string version_id;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; </div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="code" href="structminio_1_1s3_1_1PutObjectResponse.html">PutObjectResponse</a>();</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <a class="code" href="structminio_1_1s3_1_1PutObjectResponse.html">PutObjectResponse</a>(<a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> err);</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="structminio_1_1s3_1_1PutObjectResponse.html">PutObjectResponse</a>(<span class="keyword">const</span> <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a>&amp; response);</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;}; <span class="comment">// struct PutObjectResponse</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; </div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="keyword">using</span> <a class="code" href="structminio_1_1s3_1_1PutObjectResponse.html">UploadPartResponse</a> = <a class="code" href="structminio_1_1s3_1_1PutObjectResponse.html">PutObjectResponse</a>;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; </div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="keyword">using</span> <a class="code" href="structminio_1_1s3_1_1PutObjectResponse.html">UploadPartCopyResponse</a> = <a class="code" href="structminio_1_1s3_1_1PutObjectResponse.html">PutObjectResponse</a>;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; </div>
<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1StatObjectResponse.html"> 116</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1StatObjectResponse.html">StatObjectResponse</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a> {</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; std::string version_id;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; std::string etag;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordtype">size_t</span> size = 0;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="classminio_1_1utils_1_1Time.html">utils::Time</a> last_modified;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; RetentionMode retention_mode;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="classminio_1_1utils_1_1Time.html">utils::Time</a> retention_retain_until_date;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; LegalHold legal_hold;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordtype">bool</span> delete_marker;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="classminio_1_1utils_1_1Multimap.html">utils::Multimap</a> user_metadata;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; </div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="structminio_1_1s3_1_1StatObjectResponse.html">StatObjectResponse</a>();</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="structminio_1_1s3_1_1StatObjectResponse.html">StatObjectResponse</a>(<a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> err);</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="structminio_1_1s3_1_1StatObjectResponse.html">StatObjectResponse</a>(<span class="keyword">const</span> <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a>&amp; response);</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;}; <span class="comment">// struct StatObjectResponse</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; </div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="keyword">using</span> <a class="code" href="structminio_1_1s3_1_1Response.html">RemoveObjectResponse</a> = <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a>;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; </div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="keyword">using</span> <a class="code" href="structminio_1_1s3_1_1Response.html">DownloadObjectResponse</a> = <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a>;</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; </div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="keyword">using</span> <a class="code" href="structminio_1_1s3_1_1Response.html">GetObjectResponse</a> = <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a>;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; </div>
<div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1Item.html"> 138</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1Item.html">Item</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a> {</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; std::string etag; <span class="comment">// except DeleteMarker</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; std::string name;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="classminio_1_1utils_1_1Time.html">utils::Time</a> last_modified;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; std::string owner_id;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; std::string owner_name;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordtype">size_t</span> size = 0; <span class="comment">// except DeleteMarker</span></div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; std::string storage_class;</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordtype">bool</span> is_latest = <span class="keyword">false</span>; <span class="comment">// except ListObjects V1/V2</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; std::string version_id; <span class="comment">// except ListObjects V1/V2</span></div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; std::map&lt;std::string, std::string&gt; user_metadata;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordtype">bool</span> is_prefix = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordtype">bool</span> is_delete_marker = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; std::string encoding_type;</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; </div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <a class="code" href="structminio_1_1s3_1_1Item.html">Item</a>();</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <a class="code" href="structminio_1_1s3_1_1Item.html">Item</a>(<a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> err);</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <a class="code" href="structminio_1_1s3_1_1Item.html">Item</a>(<span class="keyword">const</span> <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a>&amp; response);</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;}; <span class="comment">// struct Item</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; </div>
<div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="structminio_1_1s3_1_1ListObjectsResponse.html"> 158</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structminio_1_1s3_1_1ListObjectsResponse.html">ListObjectsResponse</a> : <span class="keyword">public</span> <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a> {</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="comment">// Common</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; std::string name;</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; std::string encoding_type;</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; std::string prefix;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; std::string delimiter;</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordtype">bool</span> is_truncated;</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> max_keys;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; std::list&lt;Item&gt; contents;</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; </div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="comment">// ListObjectsV1</span></div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; std::string marker;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; std::string next_marker;</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; </div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="comment">// ListObjectsV2</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> key_count;</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; std::string start_after;</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; std::string continuation_token;</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; std::string next_continuation_token;</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; </div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// ListObjectVersions</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; std::string key_marker;</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; std::string next_key_marker;</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; std::string version_id_marker;</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; std::string next_version_id_marker;</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; </div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="structminio_1_1s3_1_1ListObjectsResponse.html">ListObjectsResponse</a>();</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="structminio_1_1s3_1_1ListObjectsResponse.html">ListObjectsResponse</a>(<a class="code" href="classminio_1_1error_1_1Error.html">error::Error</a> err);</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <a class="code" href="structminio_1_1s3_1_1ListObjectsResponse.html">ListObjectsResponse</a>(<span class="keyword">const</span> <a class="code" href="structminio_1_1s3_1_1Response.html">Response</a>&amp; response);</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keyword">static</span> <a class="code" href="structminio_1_1s3_1_1ListObjectsResponse.html">ListObjectsResponse</a> ParseXML(std::string_view data, <span class="keywordtype">bool</span> version);</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;}; <span class="comment">// struct ListObjectsResponse</span></div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; </div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;<span class="keyword">using</span> <a class="code" href="structminio_1_1s3_1_1PutObjectResponse.html">CopyObjectResponse</a> = <a class="code" href="structminio_1_1s3_1_1PutObjectResponse.html">PutObjectResponse</a>;</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="keyword">using</span> <a class="code" href="structminio_1_1s3_1_1PutObjectResponse.html">ComposeObjectResponse</a> = <a class="code" href="structminio_1_1s3_1_1PutObjectResponse.html">PutObjectResponse</a>;</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; </div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;<span class="keyword">using</span> <a class="code" href="structminio_1_1s3_1_1PutObjectResponse.html">UploadObjectResponse</a> = <a class="code" href="structminio_1_1s3_1_1PutObjectResponse.html">PutObjectResponse</a>;</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;} <span class="comment">// namespace s3</span></div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;} <span class="comment">// namespace minio</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; </div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// #ifndef _MINIO_S3_RESPONSE_H</span></div>
<div class="ttc" id="aclassminio_1_1error_1_1Error_html"><div class="ttname"><a href="classminio_1_1error_1_1Error.html">minio::error::Error</a></div><div class="ttdef"><b>Definition:</b> error.h:23</div></div>
<div class="ttc" id="aclassminio_1_1utils_1_1Multimap_html"><div class="ttname"><a href="classminio_1_1utils_1_1Multimap.html">minio::utils::Multimap</a></div><div class="ttdef"><b>Definition:</b> utils.h:119</div></div>
<div class="ttc" id="aclassminio_1_1utils_1_1Time_html"><div class="ttname"><a href="classminio_1_1utils_1_1Time.html">minio::utils::Time</a></div><div class="ttdef"><b>Definition:</b> utils.h:97</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1BucketExistsResponse_html"><div class="ttname"><a href="structminio_1_1s3_1_1BucketExistsResponse.html">minio::s3::BucketExistsResponse</a></div><div class="ttdef"><b>Definition:</b> response.h:71</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1CompleteMultipartUploadResponse_html"><div class="ttname"><a href="structminio_1_1s3_1_1CompleteMultipartUploadResponse.html">minio::s3::CompleteMultipartUploadResponse</a></div><div class="ttdef"><b>Definition:</b> response.h:83</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1CreateMultipartUploadResponse_html"><div class="ttname"><a href="structminio_1_1s3_1_1CreateMultipartUploadResponse.html">minio::s3::CreateMultipartUploadResponse</a></div><div class="ttdef"><b>Definition:</b> response.h:95</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1GetRegionResponse_html"><div class="ttname"><a href="structminio_1_1s3_1_1GetRegionResponse.html">minio::s3::GetRegionResponse</a></div><div class="ttdef"><b>Definition:</b> response.h:52</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1Item_html"><div class="ttname"><a href="structminio_1_1s3_1_1Item.html">minio::s3::Item</a></div><div class="ttdef"><b>Definition:</b> response.h:138</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1ListBucketsResponse_html"><div class="ttname"><a href="structminio_1_1s3_1_1ListBucketsResponse.html">minio::s3::ListBucketsResponse</a></div><div class="ttdef"><b>Definition:</b> response.h:62</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1ListObjectsResponse_html"><div class="ttname"><a href="structminio_1_1s3_1_1ListObjectsResponse.html">minio::s3::ListObjectsResponse</a></div><div class="ttdef"><b>Definition:</b> response.h:158</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1PutObjectResponse_html"><div class="ttname"><a href="structminio_1_1s3_1_1PutObjectResponse.html">minio::s3::PutObjectResponse</a></div><div class="ttdef"><b>Definition:</b> response.h:103</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1Response_html"><div class="ttname"><a href="structminio_1_1s3_1_1Response.html">minio::s3::Response</a></div><div class="ttdef"><b>Definition:</b> response.h:25</div></div>
<div class="ttc" id="astructminio_1_1s3_1_1StatObjectResponse_html"><div class="ttname"><a href="structminio_1_1s3_1_1StatObjectResponse.html">minio::s3::StatObjectResponse</a></div><div class="ttdef"><b>Definition:</b> response.h:116</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>

37
search/all_0.html Normal file
View File

@@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
</script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
window.addEventListener("message", function(event) {
if (event.data == "take_focus") {
var elem = searchResults.NavNext(0);
if (elem) elem.focus();
}
});
/* @license-end */
</script>
</div>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More