From f6ffd5fb101a5f1215ae25f4edccca15b5d869a2 Mon Sep 17 00:00:00 2001 From: Bala FA Date: Mon, 23 May 2022 23:13:48 +0530 Subject: [PATCH] Add docs (#17) Signed-off-by: Bala.FA --- .github/workflows/cmake.yml | 76 - .gitignore | 20 - .gitmodules | 0 CMakeLists.txt | 124 -- LICENSE | 202 -- README.md | 99 - annotated.html | 143 ++ args_8h_source.html | 351 ++++ bc_s.png | Bin 0 -> 676 bytes bdwn.png | Bin 0 -> 147 bytes check-style.sh | 20 - classes.html | 122 ++ ...minio_1_1creds_1_1Credentials-members.html | 87 + classminio_1_1creds_1_1Credentials.html | 111 + classminio_1_1creds_1_1Provider-members.html | 84 + classminio_1_1creds_1_1Provider.html | 104 + classminio_1_1creds_1_1Provider.png | Bin 0 -> 655 bytes ...io_1_1creds_1_1StaticProvider-members.html | 86 + classminio_1_1creds_1_1StaticProvider.html | 108 + classminio_1_1creds_1_1StaticProvider.png | Bin 0 -> 657 bytes classminio_1_1error_1_1Error-members.html | 85 + classminio_1_1error_1_1Error.html | 97 + classminio_1_1s3_1_1Client-members.html | 115 ++ classminio_1_1s3_1_1Client.html | 195 ++ ...io_1_1s3_1_1ListObjectsResult-members.html | 87 + classminio_1_1s3_1_1ListObjectsResult.html | 107 + classminio_1_1s3_1_1Sse-members.html | 87 + classminio_1_1s3_1_1Sse.html | 115 ++ classminio_1_1s3_1_1Sse.png | Bin 0 -> 1076 bytes ...minio_1_1s3_1_1SseCustomerKey-members.html | 88 + classminio_1_1s3_1_1SseCustomerKey.html | 121 ++ classminio_1_1s3_1_1SseCustomerKey.png | Bin 0 -> 623 bytes classminio_1_1s3_1_1SseKms-members.html | 88 + classminio_1_1s3_1_1SseKms.html | 118 ++ classminio_1_1s3_1_1SseKms.png | Bin 0 -> 508 bytes classminio_1_1s3_1_1SseS3-members.html | 88 + classminio_1_1s3_1_1SseS3.html | 118 ++ classminio_1_1s3_1_1SseS3.png | Bin 0 -> 488 bytes classminio_1_1utils_1_1Multimap-members.html | 94 + classminio_1_1utils_1_1Multimap.html | 129 ++ classminio_1_1utils_1_1Time-members.html | 92 + classminio_1_1utils_1_1Time.html | 127 ++ client_8h_source.html | 247 +++ closed.png | Bin 0 -> 132 bytes cmake/modules/FindPugiXML.cmake | 31 - creds_8h_source.html | 141 ++ dir_49e56c817e5e54854c35e136979f97ca.html | 78 + dir_68267d1309a1af8e8297ef4c3efbcdba.html | 78 + dir_d44c64559bbebec7f509842c48db8b23.html | 78 + doc.png | Bin 0 -> 746 bytes docs/CNAME | 1 - docs/Doxyfile.in | 7 - docs/README.md | 97 - doxygen.css | 1793 +++++++++++++++++ doxygen.svg | 26 + dynsections.js | 121 ++ error_8h_source.html | 117 ++ examples/BucketExists.cc | 50 - examples/CMakeLists.txt | 40 - examples/ComposeObject.cc | 60 - examples/CopyObject.cc | 52 - examples/DownloadObject.cc | 48 - examples/GetObject.cc | 51 - examples/ListBuckets.cc | 44 - examples/ListObjects.cc | 66 - examples/MakeBucket.cc | 45 - examples/PutObject.cc | 48 - examples/RemoveBucket.cc | 45 - examples/RemoveObject.cc | 46 - examples/StatObject.cc | 77 - examples/UploadObject.cc | 48 - files.html | 90 + folderclosed.png | Bin 0 -> 616 bytes folderopen.png | Bin 0 -> 597 bytes hierarchy.html | 138 ++ http_8h_source.html | 219 ++ include/CMakeLists.txt | 32 - include/args.h | 240 --- include/client.h | 134 -- include/creds.h | 70 - include/error.h | 38 - include/http.h | 134 -- include/request-builder.h | 57 - include/response.h | 198 -- include/signer.h | 65 - include/sse.h | 67 - include/types.h | 124 -- include/utils.h | 178 -- index.html | 168 ++ jquery.js | 35 + menu.js | 51 + menudata.js | 32 + miniocpp.pc.in | 12 - nav_f.png | Bin 0 -> 153 bytes nav_g.png | Bin 0 -> 95 bytes nav_h.png | Bin 0 -> 98 bytes open.png | Bin 0 -> 123 bytes request-builder_8h_source.html | 142 ++ response_8h_source.html | 289 +++ search/all_0.html | 37 + search/all_0.js | 4 + search/all_1.html | 37 + search/all_1.js | 8 + search/all_2.html | 37 + search/all_2.js | 13 + search/all_3.html | 37 + search/all_3.js | 5 + search/all_4.html | 37 + search/all_4.js | 4 + search/all_5.html | 37 + search/all_5.js | 5 + search/all_6.html | 37 + search/all_6.js | 4 + search/all_7.html | 37 + search/all_7.js | 11 + search/all_8.html | 37 + search/all_8.js | 5 + search/all_9.html | 37 + search/all_9.js | 8 + search/all_a.html | 37 + search/all_a.js | 9 + search/all_b.html | 37 + search/all_b.js | 7 + search/all_c.html | 37 + search/all_c.js | 9 + search/all_d.html | 37 + search/all_d.js | 4 + search/all_e.html | 37 + search/all_e.js | 7 + search/classes_0.html | 37 + search/classes_0.js | 4 + search/classes_1.html | 37 + search/classes_1.js | 8 + search/classes_2.html | 37 + search/classes_2.js | 13 + search/classes_3.html | 37 + search/classes_3.js | 5 + search/classes_4.html | 37 + search/classes_4.js | 4 + search/classes_5.html | 37 + search/classes_5.js | 5 + search/classes_6.html | 37 + search/classes_6.js | 4 + search/classes_7.html | 37 + search/classes_7.js | 11 + search/classes_8.html | 37 + search/classes_8.js | 5 + search/classes_9.html | 37 + search/classes_9.js | 8 + search/classes_a.html | 37 + search/classes_a.js | 9 + search/classes_b.html | 37 + search/classes_b.js | 7 + search/classes_c.html | 37 + search/classes_c.js | 9 + search/classes_d.html | 37 + search/classes_d.js | 4 + search/classes_e.html | 37 + search/classes_e.js | 7 + search/close.svg | 31 + search/mag_sel.svg | 74 + search/nomatches.html | 13 + search/search.css | 257 +++ search/search.js | 816 ++++++++ search/search_l.png | Bin 0 -> 567 bytes search/search_m.png | Bin 0 -> 158 bytes search/search_r.png | Bin 0 -> 553 bytes search/searchdata.js | 18 + signer_8h_source.html | 143 ++ splitbar.png | Bin 0 -> 314 bytes src/CMakeLists.txt | 32 - src/args.cc | 363 ---- src/client.cc | 1402 ------------- src/creds.cc | 59 - src/http.cc | 342 ---- src/request-builder.cc | 117 -- src/response.cc | 391 ---- src/signer.cc | 146 -- src/sse.cc | 45 - src/types.cc | 51 - src/utils.cc | 514 ----- sse_8h_source.html | 150 ++ structminio_1_1http_1_1BaseUrl-members.html | 93 + structminio_1_1http_1_1BaseUrl.html | 129 ++ ...o_1_1http_1_1DataCallbackArgs-members.html | 87 + structminio_1_1http_1_1DataCallbackArgs.html | 106 + structminio_1_1http_1_1Request-members.html | 92 + structminio_1_1http_1_1Request.html | 126 ++ structminio_1_1http_1_1Response-members.html | 89 + structminio_1_1http_1_1Response.html | 117 ++ ...3_1_1AbortMultipartUploadArgs-members.html | 88 + ...nio_1_1s3_1_1AbortMultipartUploadArgs.html | 136 ++ ...inio_1_1s3_1_1AbortMultipartUploadArgs.png | Bin 0 -> 1406 bytes structminio_1_1s3_1_1BaseArgs-members.html | 83 + structminio_1_1s3_1_1BaseArgs.html | 115 ++ structminio_1_1s3_1_1BaseArgs.png | Bin 0 -> 7553 bytes structminio_1_1s3_1_1Bucket-members.html | 83 + structminio_1_1s3_1_1Bucket.html | 94 + structminio_1_1s3_1_1BucketArgs-members.html | 86 + structminio_1_1s3_1_1BucketArgs.html | 130 ++ structminio_1_1s3_1_1BucketArgs.png | Bin 0 -> 7547 bytes ...1_1s3_1_1BucketExistsResponse-members.html | 102 + ...ctminio_1_1s3_1_1BucketExistsResponse.html | 168 ++ structminio_1_1s3_1_1BucketExistsResponse.png | Bin 0 -> 703 bytes ..._1CompleteMultipartUploadArgs-members.html | 89 + ..._1_1s3_1_1CompleteMultipartUploadArgs.html | 139 ++ ...o_1_1s3_1_1CompleteMultipartUploadArgs.png | Bin 0 -> 1437 bytes ...mpleteMultipartUploadResponse-members.html | 105 + ...s3_1_1CompleteMultipartUploadResponse.html | 175 ++ ...1s3_1_1CompleteMultipartUploadResponse.png | Bin 0 -> 782 bytes ...io_1_1s3_1_1ComposeObjectArgs-members.html | 95 + structminio_1_1s3_1_1ComposeObjectArgs.html | 160 ++ structminio_1_1s3_1_1ComposeObjectArgs.png | Bin 0 -> 1695 bytes ...tminio_1_1s3_1_1ComposeSource-members.html | 99 + structminio_1_1s3_1_1ComposeSource.html | 175 ++ structminio_1_1s3_1_1ComposeSource.png | Bin 0 -> 2483 bytes ...minio_1_1s3_1_1CopyObjectArgs-members.html | 97 + structminio_1_1s3_1_1CopyObjectArgs.html | 166 ++ structminio_1_1s3_1_1CopyObjectArgs.png | Bin 0 -> 1641 bytes ..._1_1CreateMultipartUploadArgs-members.html | 88 + ...io_1_1s3_1_1CreateMultipartUploadArgs.html | 131 ++ ...nio_1_1s3_1_1CreateMultipartUploadArgs.png | Bin 0 -> 1418 bytes ...CreateMultipartUploadResponse-members.html | 102 + ..._1s3_1_1CreateMultipartUploadResponse.html | 168 ++ ...1_1s3_1_1CreateMultipartUploadResponse.png | Bin 0 -> 766 bytes ...o_1_1s3_1_1DownloadObjectArgs-members.html | 91 + structminio_1_1s3_1_1DownloadObjectArgs.html | 149 ++ structminio_1_1s3_1_1DownloadObjectArgs.png | Bin 0 -> 2061 bytes ...tminio_1_1s3_1_1GetObjectArgs-members.html | 99 + structminio_1_1s3_1_1GetObjectArgs.html | 176 ++ structminio_1_1s3_1_1GetObjectArgs.png | Bin 0 -> 2501 bytes ...io_1_1s3_1_1GetRegionResponse-members.html | 102 + structminio_1_1s3_1_1GetRegionResponse.html | 168 ++ structminio_1_1s3_1_1GetRegionResponse.png | Bin 0 -> 685 bytes structminio_1_1s3_1_1Item-members.html | 114 ++ structminio_1_1s3_1_1Item.html | 201 ++ structminio_1_1s3_1_1Item.png | Bin 0 -> 510 bytes ..._1_1s3_1_1ListBucketsResponse-members.html | 103 + structminio_1_1s3_1_1ListBucketsResponse.html | 172 ++ structminio_1_1s3_1_1ListBucketsResponse.png | Bin 0 -> 688 bytes ...1s3_1_1ListObjectVersionsArgs-members.html | 94 + ...minio_1_1s3_1_1ListObjectVersionsArgs.html | 144 ++ ...tminio_1_1s3_1_1ListObjectVersionsArgs.png | Bin 0 -> 1453 bytes ...inio_1_1s3_1_1ListObjectsArgs-members.html | 100 + structminio_1_1s3_1_1ListObjectsArgs.html | 161 ++ structminio_1_1s3_1_1ListObjectsArgs.png | Bin 0 -> 980 bytes ..._1s3_1_1ListObjectsCommonArgs-members.html | 90 + ...tminio_1_1s3_1_1ListObjectsCommonArgs.html | 134 ++ ...ctminio_1_1s3_1_1ListObjectsCommonArgs.png | Bin 0 -> 2413 bytes ..._1_1s3_1_1ListObjectsResponse-members.html | 119 ++ structminio_1_1s3_1_1ListObjectsResponse.html | 217 ++ structminio_1_1s3_1_1ListObjectsResponse.png | Bin 0 -> 686 bytes ...io_1_1s3_1_1ListObjectsV1Args-members.html | 93 + structminio_1_1s3_1_1ListObjectsV1Args.html | 141 ++ structminio_1_1s3_1_1ListObjectsV1Args.png | Bin 0 -> 1436 bytes ...io_1_1s3_1_1ListObjectsV2Args-members.html | 96 + structminio_1_1s3_1_1ListObjectsV2Args.html | 150 ++ structminio_1_1s3_1_1ListObjectsV2Args.png | Bin 0 -> 1442 bytes ...minio_1_1s3_1_1MakeBucketArgs-members.html | 87 + structminio_1_1s3_1_1MakeBucketArgs.html | 127 ++ structminio_1_1s3_1_1MakeBucketArgs.png | Bin 0 -> 1001 bytes structminio_1_1s3_1_1ObjectArgs-members.html | 87 + structminio_1_1s3_1_1ObjectArgs.html | 145 ++ structminio_1_1s3_1_1ObjectArgs.png | Bin 0 -> 9791 bytes ..._1_1ObjectConditionalReadArgs-members.html | 97 + ...io_1_1s3_1_1ObjectConditionalReadArgs.html | 166 ++ ...nio_1_1s3_1_1ObjectConditionalReadArgs.png | Bin 0 -> 3429 bytes ...minio_1_1s3_1_1ObjectReadArgs-members.html | 89 + structminio_1_1s3_1_1ObjectReadArgs.html | 140 ++ structminio_1_1s3_1_1ObjectReadArgs.png | Bin 0 -> 4132 bytes ...io_1_1s3_1_1ObjectVersionArgs-members.html | 88 + structminio_1_1s3_1_1ObjectVersionArgs.html | 136 ++ structminio_1_1s3_1_1ObjectVersionArgs.png | Bin 0 -> 4128 bytes ...inio_1_1s3_1_1ObjectWriteArgs-members.html | 94 + structminio_1_1s3_1_1ObjectWriteArgs.html | 159 ++ structminio_1_1s3_1_1ObjectWriteArgs.png | Bin 0 -> 4528 bytes structminio_1_1s3_1_1Part-members.html | 85 + structminio_1_1s3_1_1Part.html | 100 + ...nio_1_1s3_1_1PutObjectApiArgs-members.html | 100 + structminio_1_1s3_1_1PutObjectApiArgs.html | 172 ++ structminio_1_1s3_1_1PutObjectApiArgs.png | Bin 0 -> 2042 bytes ...tminio_1_1s3_1_1PutObjectArgs-members.html | 100 + structminio_1_1s3_1_1PutObjectArgs.html | 177 ++ structminio_1_1s3_1_1PutObjectArgs.png | Bin 0 -> 2021 bytes ...io_1_1s3_1_1PutObjectBaseArgs-members.html | 98 + structminio_1_1s3_1_1PutObjectBaseArgs.html | 167 ++ structminio_1_1s3_1_1PutObjectBaseArgs.png | Bin 0 -> 3341 bytes ...io_1_1s3_1_1PutObjectResponse-members.html | 103 + structminio_1_1s3_1_1PutObjectResponse.html | 168 ++ structminio_1_1s3_1_1PutObjectResponse.png | Bin 0 -> 672 bytes ...minio_1_1s3_1_1RequestBuilder-members.html | 98 + structminio_1_1s3_1_1RequestBuilder.html | 144 ++ structminio_1_1s3_1_1Response-members.html | 98 + structminio_1_1s3_1_1Response.html | 162 ++ structminio_1_1s3_1_1Response.png | Bin 0 -> 5380 bytes structminio_1_1s3_1_1Retention-members.html | 83 + structminio_1_1s3_1_1Retention.html | 94 + ...o_1_1s3_1_1StatObjectResponse-members.html | 110 + structminio_1_1s3_1_1StatObjectResponse.html | 189 ++ structminio_1_1s3_1_1StatObjectResponse.png | Bin 0 -> 681 bytes ...nio_1_1s3_1_1UploadObjectArgs-members.html | 99 + structminio_1_1s3_1_1UploadObjectArgs.html | 174 ++ structminio_1_1s3_1_1UploadObjectArgs.png | Bin 0 -> 2029 bytes ...minio_1_1s3_1_1UploadPartArgs-members.html | 97 + structminio_1_1s3_1_1UploadPartArgs.html | 166 ++ structminio_1_1s3_1_1UploadPartArgs.png | Bin 0 -> 1623 bytes ...o_1_1s3_1_1UploadPartCopyArgs-members.html | 96 + structminio_1_1s3_1_1UploadPartCopyArgs.html | 166 ++ structminio_1_1s3_1_1UploadPartCopyArgs.png | Bin 0 -> 1713 bytes ...tminio_1_1utils_1_1CharBuffer-members.html | 84 + structminio_1_1utils_1_1CharBuffer.html | 107 + structminio_1_1utils_1_1CharBuffer.png | Bin 0 -> 591 bytes structminio_1_1utils_1_1Url-members.html | 87 + structminio_1_1utils_1_1Url.html | 115 ++ sync_off.png | Bin 0 -> 853 bytes sync_on.png | Bin 0 -> 845 bytes tab_a.png | Bin 0 -> 142 bytes tab_b.png | Bin 0 -> 169 bytes tab_h.png | Bin 0 -> 177 bytes tab_s.png | Bin 0 -> 184 bytes tabs.css | 1 + tests/CMakeLists.txt | 2 - tests/private.key | 27 - tests/public.crt | 22 - tests/tests.cc | 516 ----- types_8h_source.html | 206 ++ utils_8h_source.html | 248 +++ vcpkg.json | 10 - 328 files changed, 21744 insertions(+), 6785 deletions(-) delete mode 100644 .github/workflows/cmake.yml delete mode 100644 .gitignore delete mode 100644 .gitmodules delete mode 100644 CMakeLists.txt delete mode 100644 LICENSE delete mode 100644 README.md create mode 100644 annotated.html create mode 100644 args_8h_source.html create mode 100644 bc_s.png create mode 100644 bdwn.png delete mode 100755 check-style.sh create mode 100644 classes.html create mode 100644 classminio_1_1creds_1_1Credentials-members.html create mode 100644 classminio_1_1creds_1_1Credentials.html create mode 100644 classminio_1_1creds_1_1Provider-members.html create mode 100644 classminio_1_1creds_1_1Provider.html create mode 100644 classminio_1_1creds_1_1Provider.png create mode 100644 classminio_1_1creds_1_1StaticProvider-members.html create mode 100644 classminio_1_1creds_1_1StaticProvider.html create mode 100644 classminio_1_1creds_1_1StaticProvider.png create mode 100644 classminio_1_1error_1_1Error-members.html create mode 100644 classminio_1_1error_1_1Error.html create mode 100644 classminio_1_1s3_1_1Client-members.html create mode 100644 classminio_1_1s3_1_1Client.html create mode 100644 classminio_1_1s3_1_1ListObjectsResult-members.html create mode 100644 classminio_1_1s3_1_1ListObjectsResult.html create mode 100644 classminio_1_1s3_1_1Sse-members.html create mode 100644 classminio_1_1s3_1_1Sse.html create mode 100644 classminio_1_1s3_1_1Sse.png create mode 100644 classminio_1_1s3_1_1SseCustomerKey-members.html create mode 100644 classminio_1_1s3_1_1SseCustomerKey.html create mode 100644 classminio_1_1s3_1_1SseCustomerKey.png create mode 100644 classminio_1_1s3_1_1SseKms-members.html create mode 100644 classminio_1_1s3_1_1SseKms.html create mode 100644 classminio_1_1s3_1_1SseKms.png create mode 100644 classminio_1_1s3_1_1SseS3-members.html create mode 100644 classminio_1_1s3_1_1SseS3.html create mode 100644 classminio_1_1s3_1_1SseS3.png create mode 100644 classminio_1_1utils_1_1Multimap-members.html create mode 100644 classminio_1_1utils_1_1Multimap.html create mode 100644 classminio_1_1utils_1_1Time-members.html create mode 100644 classminio_1_1utils_1_1Time.html create mode 100644 client_8h_source.html create mode 100644 closed.png delete mode 100644 cmake/modules/FindPugiXML.cmake create mode 100644 creds_8h_source.html create mode 100644 dir_49e56c817e5e54854c35e136979f97ca.html create mode 100644 dir_68267d1309a1af8e8297ef4c3efbcdba.html create mode 100644 dir_d44c64559bbebec7f509842c48db8b23.html create mode 100644 doc.png delete mode 100644 docs/CNAME delete mode 100644 docs/Doxyfile.in delete mode 100644 docs/README.md create mode 100644 doxygen.css create mode 100644 doxygen.svg create mode 100644 dynsections.js create mode 100644 error_8h_source.html delete mode 100644 examples/BucketExists.cc delete mode 100644 examples/CMakeLists.txt delete mode 100644 examples/ComposeObject.cc delete mode 100644 examples/CopyObject.cc delete mode 100644 examples/DownloadObject.cc delete mode 100644 examples/GetObject.cc delete mode 100644 examples/ListBuckets.cc delete mode 100644 examples/ListObjects.cc delete mode 100644 examples/MakeBucket.cc delete mode 100644 examples/PutObject.cc delete mode 100644 examples/RemoveBucket.cc delete mode 100644 examples/RemoveObject.cc delete mode 100644 examples/StatObject.cc delete mode 100644 examples/UploadObject.cc create mode 100644 files.html create mode 100644 folderclosed.png create mode 100644 folderopen.png create mode 100644 hierarchy.html create mode 100644 http_8h_source.html delete mode 100644 include/CMakeLists.txt delete mode 100644 include/args.h delete mode 100644 include/client.h delete mode 100644 include/creds.h delete mode 100644 include/error.h delete mode 100644 include/http.h delete mode 100644 include/request-builder.h delete mode 100644 include/response.h delete mode 100644 include/signer.h delete mode 100644 include/sse.h delete mode 100644 include/types.h delete mode 100644 include/utils.h create mode 100644 index.html create mode 100644 jquery.js create mode 100644 menu.js create mode 100644 menudata.js delete mode 100644 miniocpp.pc.in create mode 100644 nav_f.png create mode 100644 nav_g.png create mode 100644 nav_h.png create mode 100644 open.png create mode 100644 request-builder_8h_source.html create mode 100644 response_8h_source.html create mode 100644 search/all_0.html create mode 100644 search/all_0.js create mode 100644 search/all_1.html create mode 100644 search/all_1.js create mode 100644 search/all_2.html create mode 100644 search/all_2.js create mode 100644 search/all_3.html create mode 100644 search/all_3.js create mode 100644 search/all_4.html create mode 100644 search/all_4.js create mode 100644 search/all_5.html create mode 100644 search/all_5.js create mode 100644 search/all_6.html create mode 100644 search/all_6.js create mode 100644 search/all_7.html create mode 100644 search/all_7.js create mode 100644 search/all_8.html create mode 100644 search/all_8.js create mode 100644 search/all_9.html create mode 100644 search/all_9.js create mode 100644 search/all_a.html create mode 100644 search/all_a.js create mode 100644 search/all_b.html create mode 100644 search/all_b.js create mode 100644 search/all_c.html create mode 100644 search/all_c.js create mode 100644 search/all_d.html create mode 100644 search/all_d.js create mode 100644 search/all_e.html create mode 100644 search/all_e.js create mode 100644 search/classes_0.html create mode 100644 search/classes_0.js create mode 100644 search/classes_1.html create mode 100644 search/classes_1.js create mode 100644 search/classes_2.html create mode 100644 search/classes_2.js create mode 100644 search/classes_3.html create mode 100644 search/classes_3.js create mode 100644 search/classes_4.html create mode 100644 search/classes_4.js create mode 100644 search/classes_5.html create mode 100644 search/classes_5.js create mode 100644 search/classes_6.html create mode 100644 search/classes_6.js create mode 100644 search/classes_7.html create mode 100644 search/classes_7.js create mode 100644 search/classes_8.html create mode 100644 search/classes_8.js create mode 100644 search/classes_9.html create mode 100644 search/classes_9.js create mode 100644 search/classes_a.html create mode 100644 search/classes_a.js create mode 100644 search/classes_b.html create mode 100644 search/classes_b.js create mode 100644 search/classes_c.html create mode 100644 search/classes_c.js create mode 100644 search/classes_d.html create mode 100644 search/classes_d.js create mode 100644 search/classes_e.html create mode 100644 search/classes_e.js create mode 100644 search/close.svg create mode 100644 search/mag_sel.svg create mode 100644 search/nomatches.html create mode 100644 search/search.css create mode 100644 search/search.js create mode 100644 search/search_l.png create mode 100644 search/search_m.png create mode 100644 search/search_r.png create mode 100644 search/searchdata.js create mode 100644 signer_8h_source.html create mode 100644 splitbar.png delete mode 100644 src/CMakeLists.txt delete mode 100644 src/args.cc delete mode 100644 src/client.cc delete mode 100644 src/creds.cc delete mode 100644 src/http.cc delete mode 100644 src/request-builder.cc delete mode 100644 src/response.cc delete mode 100644 src/signer.cc delete mode 100644 src/sse.cc delete mode 100644 src/types.cc delete mode 100644 src/utils.cc create mode 100644 sse_8h_source.html create mode 100644 structminio_1_1http_1_1BaseUrl-members.html create mode 100644 structminio_1_1http_1_1BaseUrl.html create mode 100644 structminio_1_1http_1_1DataCallbackArgs-members.html create mode 100644 structminio_1_1http_1_1DataCallbackArgs.html create mode 100644 structminio_1_1http_1_1Request-members.html create mode 100644 structminio_1_1http_1_1Request.html create mode 100644 structminio_1_1http_1_1Response-members.html create mode 100644 structminio_1_1http_1_1Response.html create mode 100644 structminio_1_1s3_1_1AbortMultipartUploadArgs-members.html create mode 100644 structminio_1_1s3_1_1AbortMultipartUploadArgs.html create mode 100644 structminio_1_1s3_1_1AbortMultipartUploadArgs.png create mode 100644 structminio_1_1s3_1_1BaseArgs-members.html create mode 100644 structminio_1_1s3_1_1BaseArgs.html create mode 100644 structminio_1_1s3_1_1BaseArgs.png create mode 100644 structminio_1_1s3_1_1Bucket-members.html create mode 100644 structminio_1_1s3_1_1Bucket.html create mode 100644 structminio_1_1s3_1_1BucketArgs-members.html create mode 100644 structminio_1_1s3_1_1BucketArgs.html create mode 100644 structminio_1_1s3_1_1BucketArgs.png create mode 100644 structminio_1_1s3_1_1BucketExistsResponse-members.html create mode 100644 structminio_1_1s3_1_1BucketExistsResponse.html create mode 100644 structminio_1_1s3_1_1BucketExistsResponse.png create mode 100644 structminio_1_1s3_1_1CompleteMultipartUploadArgs-members.html create mode 100644 structminio_1_1s3_1_1CompleteMultipartUploadArgs.html create mode 100644 structminio_1_1s3_1_1CompleteMultipartUploadArgs.png create mode 100644 structminio_1_1s3_1_1CompleteMultipartUploadResponse-members.html create mode 100644 structminio_1_1s3_1_1CompleteMultipartUploadResponse.html create mode 100644 structminio_1_1s3_1_1CompleteMultipartUploadResponse.png create mode 100644 structminio_1_1s3_1_1ComposeObjectArgs-members.html create mode 100644 structminio_1_1s3_1_1ComposeObjectArgs.html create mode 100644 structminio_1_1s3_1_1ComposeObjectArgs.png create mode 100644 structminio_1_1s3_1_1ComposeSource-members.html create mode 100644 structminio_1_1s3_1_1ComposeSource.html create mode 100644 structminio_1_1s3_1_1ComposeSource.png create mode 100644 structminio_1_1s3_1_1CopyObjectArgs-members.html create mode 100644 structminio_1_1s3_1_1CopyObjectArgs.html create mode 100644 structminio_1_1s3_1_1CopyObjectArgs.png create mode 100644 structminio_1_1s3_1_1CreateMultipartUploadArgs-members.html create mode 100644 structminio_1_1s3_1_1CreateMultipartUploadArgs.html create mode 100644 structminio_1_1s3_1_1CreateMultipartUploadArgs.png create mode 100644 structminio_1_1s3_1_1CreateMultipartUploadResponse-members.html create mode 100644 structminio_1_1s3_1_1CreateMultipartUploadResponse.html create mode 100644 structminio_1_1s3_1_1CreateMultipartUploadResponse.png create mode 100644 structminio_1_1s3_1_1DownloadObjectArgs-members.html create mode 100644 structminio_1_1s3_1_1DownloadObjectArgs.html create mode 100644 structminio_1_1s3_1_1DownloadObjectArgs.png create mode 100644 structminio_1_1s3_1_1GetObjectArgs-members.html create mode 100644 structminio_1_1s3_1_1GetObjectArgs.html create mode 100644 structminio_1_1s3_1_1GetObjectArgs.png create mode 100644 structminio_1_1s3_1_1GetRegionResponse-members.html create mode 100644 structminio_1_1s3_1_1GetRegionResponse.html create mode 100644 structminio_1_1s3_1_1GetRegionResponse.png create mode 100644 structminio_1_1s3_1_1Item-members.html create mode 100644 structminio_1_1s3_1_1Item.html create mode 100644 structminio_1_1s3_1_1Item.png create mode 100644 structminio_1_1s3_1_1ListBucketsResponse-members.html create mode 100644 structminio_1_1s3_1_1ListBucketsResponse.html create mode 100644 structminio_1_1s3_1_1ListBucketsResponse.png create mode 100644 structminio_1_1s3_1_1ListObjectVersionsArgs-members.html create mode 100644 structminio_1_1s3_1_1ListObjectVersionsArgs.html create mode 100644 structminio_1_1s3_1_1ListObjectVersionsArgs.png create mode 100644 structminio_1_1s3_1_1ListObjectsArgs-members.html create mode 100644 structminio_1_1s3_1_1ListObjectsArgs.html create mode 100644 structminio_1_1s3_1_1ListObjectsArgs.png create mode 100644 structminio_1_1s3_1_1ListObjectsCommonArgs-members.html create mode 100644 structminio_1_1s3_1_1ListObjectsCommonArgs.html create mode 100644 structminio_1_1s3_1_1ListObjectsCommonArgs.png create mode 100644 structminio_1_1s3_1_1ListObjectsResponse-members.html create mode 100644 structminio_1_1s3_1_1ListObjectsResponse.html create mode 100644 structminio_1_1s3_1_1ListObjectsResponse.png create mode 100644 structminio_1_1s3_1_1ListObjectsV1Args-members.html create mode 100644 structminio_1_1s3_1_1ListObjectsV1Args.html create mode 100644 structminio_1_1s3_1_1ListObjectsV1Args.png create mode 100644 structminio_1_1s3_1_1ListObjectsV2Args-members.html create mode 100644 structminio_1_1s3_1_1ListObjectsV2Args.html create mode 100644 structminio_1_1s3_1_1ListObjectsV2Args.png create mode 100644 structminio_1_1s3_1_1MakeBucketArgs-members.html create mode 100644 structminio_1_1s3_1_1MakeBucketArgs.html create mode 100644 structminio_1_1s3_1_1MakeBucketArgs.png create mode 100644 structminio_1_1s3_1_1ObjectArgs-members.html create mode 100644 structminio_1_1s3_1_1ObjectArgs.html create mode 100644 structminio_1_1s3_1_1ObjectArgs.png create mode 100644 structminio_1_1s3_1_1ObjectConditionalReadArgs-members.html create mode 100644 structminio_1_1s3_1_1ObjectConditionalReadArgs.html create mode 100644 structminio_1_1s3_1_1ObjectConditionalReadArgs.png create mode 100644 structminio_1_1s3_1_1ObjectReadArgs-members.html create mode 100644 structminio_1_1s3_1_1ObjectReadArgs.html create mode 100644 structminio_1_1s3_1_1ObjectReadArgs.png create mode 100644 structminio_1_1s3_1_1ObjectVersionArgs-members.html create mode 100644 structminio_1_1s3_1_1ObjectVersionArgs.html create mode 100644 structminio_1_1s3_1_1ObjectVersionArgs.png create mode 100644 structminio_1_1s3_1_1ObjectWriteArgs-members.html create mode 100644 structminio_1_1s3_1_1ObjectWriteArgs.html create mode 100644 structminio_1_1s3_1_1ObjectWriteArgs.png create mode 100644 structminio_1_1s3_1_1Part-members.html create mode 100644 structminio_1_1s3_1_1Part.html create mode 100644 structminio_1_1s3_1_1PutObjectApiArgs-members.html create mode 100644 structminio_1_1s3_1_1PutObjectApiArgs.html create mode 100644 structminio_1_1s3_1_1PutObjectApiArgs.png create mode 100644 structminio_1_1s3_1_1PutObjectArgs-members.html create mode 100644 structminio_1_1s3_1_1PutObjectArgs.html create mode 100644 structminio_1_1s3_1_1PutObjectArgs.png create mode 100644 structminio_1_1s3_1_1PutObjectBaseArgs-members.html create mode 100644 structminio_1_1s3_1_1PutObjectBaseArgs.html create mode 100644 structminio_1_1s3_1_1PutObjectBaseArgs.png create mode 100644 structminio_1_1s3_1_1PutObjectResponse-members.html create mode 100644 structminio_1_1s3_1_1PutObjectResponse.html create mode 100644 structminio_1_1s3_1_1PutObjectResponse.png create mode 100644 structminio_1_1s3_1_1RequestBuilder-members.html create mode 100644 structminio_1_1s3_1_1RequestBuilder.html create mode 100644 structminio_1_1s3_1_1Response-members.html create mode 100644 structminio_1_1s3_1_1Response.html create mode 100644 structminio_1_1s3_1_1Response.png create mode 100644 structminio_1_1s3_1_1Retention-members.html create mode 100644 structminio_1_1s3_1_1Retention.html create mode 100644 structminio_1_1s3_1_1StatObjectResponse-members.html create mode 100644 structminio_1_1s3_1_1StatObjectResponse.html create mode 100644 structminio_1_1s3_1_1StatObjectResponse.png create mode 100644 structminio_1_1s3_1_1UploadObjectArgs-members.html create mode 100644 structminio_1_1s3_1_1UploadObjectArgs.html create mode 100644 structminio_1_1s3_1_1UploadObjectArgs.png create mode 100644 structminio_1_1s3_1_1UploadPartArgs-members.html create mode 100644 structminio_1_1s3_1_1UploadPartArgs.html create mode 100644 structminio_1_1s3_1_1UploadPartArgs.png create mode 100644 structminio_1_1s3_1_1UploadPartCopyArgs-members.html create mode 100644 structminio_1_1s3_1_1UploadPartCopyArgs.html create mode 100644 structminio_1_1s3_1_1UploadPartCopyArgs.png create mode 100644 structminio_1_1utils_1_1CharBuffer-members.html create mode 100644 structminio_1_1utils_1_1CharBuffer.html create mode 100644 structminio_1_1utils_1_1CharBuffer.png create mode 100644 structminio_1_1utils_1_1Url-members.html create mode 100644 structminio_1_1utils_1_1Url.html create mode 100644 sync_off.png create mode 100644 sync_on.png create mode 100644 tab_a.png create mode 100644 tab_b.png create mode 100644 tab_h.png create mode 100644 tab_s.png create mode 100644 tabs.css delete mode 100644 tests/CMakeLists.txt delete mode 100644 tests/private.key delete mode 100644 tests/public.crt delete mode 100644 tests/tests.cc create mode 100644 types_8h_source.html create mode 100644 utils_8h_source.html delete mode 100644 vcpkg.json diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml deleted file mode 100644 index b00968d..0000000 --- a/.github/workflows/cmake.yml +++ /dev/null @@ -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}} diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 4629ce4..0000000 --- a/.gitignore +++ /dev/null @@ -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 diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index e69de29..0000000 diff --git a/CMakeLists.txt b/CMakeLists.txt deleted file mode 100644 index 69a0bf8..0000000 --- a/CMakeLists.txt +++ /dev/null @@ -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) - diff --git a/LICENSE b/LICENSE deleted file mode 100644 index d645695..0000000 --- a/LICENSE +++ /dev/null @@ -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. diff --git a/README.md b/README.md deleted file mode 100644 index 0acd6f1..0000000 --- a/README.md +++ /dev/null @@ -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 - -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. diff --git a/annotated.html b/annotated.html new file mode 100644 index 0000000..281c02c --- /dev/null +++ b/annotated.html @@ -0,0 +1,143 @@ + + + + + + + +MinIO C++ SDK: Class List + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class List
+
+ + + + + diff --git a/args_8h_source.html b/args_8h_source.html new file mode 100644 index 0000000..dfcb241 --- /dev/null +++ b/args_8h_source.html @@ -0,0 +1,351 @@ + + + + + + + +MinIO C++ SDK: /home/bala/devel/github.com/minio/minio-cpp/include/args.h Source File + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
args.h
+
+
+
1 // MinIO C++ Library for Amazon S3 Compatible Cloud Storage
+
2 // Copyright 2022 MinIO, Inc.
+
3 //
+
4 // Licensed under the Apache License, Version 2.0 (the "License");
+
5 // you may not use this file except in compliance with the License.
+
6 // You may obtain a copy of the License at
+
7 //
+
8 // http://www.apache.org/licenses/LICENSE-2.0
+
9 //
+
10 // Unless required by applicable law or agreed to in writing, software
+
11 // distributed under the License is distributed on an "AS IS" BASIS,
+
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
13 // See the License for the specific language governing permissions and
+
14 // limitations under the License.
+
15 
+
16 #ifndef _MINIO_S3_ARGS_H
+
17 #define _MINIO_S3_ARGS_H
+
18 
+
19 #include <filesystem>
+
20 
+
21 #include "http.h"
+
22 #include "sse.h"
+
23 #include "types.h"
+
24 
+
25 namespace minio {
+
26 namespace s3 {
+
27 struct BaseArgs {
+
28  utils::Multimap extra_headers;
+
29  utils::Multimap extra_query_params;
+
30 }; // struct BaseArgs
+
31 
+
32 struct BucketArgs : public BaseArgs {
+
33  std::string bucket;
+
34  std::string region;
+
35 
+
36  error::Error Validate();
+
37 }; // struct BucketArgs
+
38 
+
39 struct ObjectArgs : public BucketArgs {
+
40  std::string object;
+
41 
+
42  error::Error Validate();
+
43 }; // struct ObjectArgs
+
44 
+
45 struct ObjectWriteArgs : public ObjectArgs {
+
46  utils::Multimap headers;
+
47  utils::Multimap user_metadata;
+
48  Sse *sse = NULL;
+
49  std::map<std::string, std::string> tags;
+
50  Retention *retention = NULL;
+
51  bool legal_hold = false;
+
52 
+
53  utils::Multimap Headers();
+
54 }; // struct ObjectWriteArgs
+
55 
+
56 struct ObjectVersionArgs : public ObjectArgs {
+
57  std::string version_id;
+
58 }; // struct ObjectVersionArgs
+
59 
+ +
61  SseCustomerKey *ssec = NULL;
+
62 }; // struct ObjectReadArgs
+
63 
+ +
65  size_t *offset = NULL;
+
66  size_t *length = NULL;
+
67  std::string match_etag;
+
68  std::string not_match_etag;
+
69  utils::Time modified_since;
+
70  utils::Time unmodified_since;
+
71 
+
72  utils::Multimap Headers();
+
73  utils::Multimap CopyHeaders();
+
74 }; // struct ObjectConditionalReadArgs
+
75 
+
76 struct MakeBucketArgs : public BucketArgs {
+
77  bool object_lock = false;
+
78 
+
79  error::Error Validate();
+
80 }; // struct MakeBucketArgs
+
81 
+ +
83 
+ +
85 
+ +
87 
+ +
89  std::string upload_id;
+
90 
+
91  error::Error Validate();
+
92 }; // struct AbortMultipartUploadArgs
+
93 
+ +
95  std::string upload_id;
+
96  std::list<Part> parts;
+
97 
+
98  error::Error Validate();
+
99 }; // struct CompleteMultipartUploadArgs
+
100 
+ +
102  utils::Multimap headers;
+
103 }; // struct CreateMultipartUploadArgs
+
104 
+ +
106  long object_size = -1;
+
107  size_t part_size = 0;
+
108  long part_count = 0;
+
109  std::string content_type;
+
110 }; // struct PutObjectBaseArgs
+
111 
+ +
113  std::string_view data;
+
114  utils::Multimap query_params;
+
115 }; // struct PutObjectApiArgs
+
116 
+ +
118  std::string upload_id;
+
119  unsigned int part_number;
+
120  std::string_view data;
+
121 
+
122  error::Error Validate();
+
123 }; // struct UploadPartArgs
+
124 
+ +
126  std::string upload_id;
+
127  unsigned int part_number;
+
128  utils::Multimap headers;
+
129 
+
130  error::Error Validate();
+
131 }; // struct UploadPartCopyArgs
+
132 
+ +
134 
+ +
136 
+ +
138  std::string filename;
+
139  bool overwrite;
+
140 
+
141  error::Error Validate();
+
142 }; // struct DownloadObjectArgs
+
143 
+ +
145  http::DataCallback data_callback;
+
146  void *user_arg = NULL;
+
147 
+
148  error::Error Validate();
+
149 }; // struct GetObjectArgs
+
150 
+
151 struct ListObjectsArgs : public BucketArgs {
+
152  std::string delimiter;
+
153  bool use_url_encoding_type = true;
+
154  std::string marker; // only for ListObjectsV1.
+
155  std::string start_after; // only for ListObjectsV2.
+
156  std::string key_marker; // only for GetObjectVersions.
+
157  unsigned int max_keys = 1000;
+
158  std::string prefix;
+
159  std::string continuation_token; // only for ListObjectsV2.
+
160  bool fetch_owner = false; // only for ListObjectsV2.
+
161  std::string version_id_marker; // only for GetObjectVersions.
+
162  bool include_user_metadata = false; // MinIO extension for ListObjectsV2.
+
163  bool recursive = false;
+
164  bool use_api_v1 = false;
+
165  bool include_versions = false;
+
166 }; // struct ListObjectsArgs
+
167 
+ +
169  std::string delimiter;
+
170  std::string encoding_type;
+
171  unsigned int max_keys = 1000;
+
172  std::string prefix;
+
173 }; // struct ListObjectsCommonArgs
+
174 
+ +
176  std::string marker;
+
177 
+ + +
180 }; // struct ListObjectsV1Args
+
181 
+ +
183  std::string start_after;
+
184  std::string continuation_token;
+
185  bool fetch_owner;
+
186  bool include_user_metadata;
+
187 
+ + +
190 }; // struct ListObjectsV2Args
+
191 
+ +
193  std::string key_marker;
+
194  std::string version_id_marker;
+
195 
+ + +
198 }; // struct ListObjectVersionsArgs
+
199 
+ +
201  std::istream &stream;
+
202 
+
203  PutObjectArgs(std::istream &stream, long objectsize, long partsize);
+
204  error::Error Validate();
+
205 }; // struct PutObjectArgs
+
206 
+ +
208 
+ +
210  CopySource source;
+
211  Directive *metadata_directive = NULL;
+
212  Directive *tagging_directive = NULL;
+
213 
+
214  error::Error Validate();
+
215 }; // struct CopyObjectArgs
+
216 
+ +
218  error::Error BuildHeaders(size_t object_size, std::string etag);
+
219  size_t ObjectSize();
+
220  utils::Multimap Headers();
+
221 
+
222  private:
+
223  long object_size_ = -1;
+
224  utils::Multimap headers_;
+
225 }; // struct ComposeSource
+
226 
+ +
228  std::list<ComposeSource> sources;
+
229 
+
230  error::Error Validate();
+
231 }; // struct ComposeObjectArgs
+
232 
+ +
234  std::string filename;
+
235 
+
236  error::Error Validate();
+
237 }; // struct PutObjectArgs
+
238 } // namespace s3
+
239 } // namespace minio
+
240 #endif // #ifndef __MINIO_S3_ARGS_H
+
Definition: error.h:23
+
Definition: sse.h:35
+
Definition: sse.h:23
+
Definition: utils.h:119
+
Definition: utils.h:97
+ +
Definition: args.h:27
+
Definition: args.h:32
+ +
Definition: args.h:227
+
Definition: args.h:217
+
Definition: args.h:209
+ +
Definition: args.h:137
+
Definition: args.h:144
+
Definition: args.h:192
+
Definition: args.h:151
+
Definition: args.h:168
+
Definition: args.h:175
+
Definition: args.h:182
+
Definition: args.h:76
+
Definition: args.h:39
+ +
Definition: args.h:60
+
Definition: args.h:56
+
Definition: args.h:45
+
Definition: args.h:112
+
Definition: args.h:200
+
Definition: args.h:105
+
Definition: types.h:118
+
Definition: args.h:233
+
Definition: args.h:117
+
Definition: args.h:125
+
+ + + + diff --git a/bc_s.png b/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..224b29aa9847d5a4b3902efd602b7ddf7d33e6c2 GIT binary patch literal 676 zcmV;V0$crwP)y__>=_9%My z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3 zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o% zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2 zBrW#G7Ss9wvzr@>H*`r>zE z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66 zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000< KMNUMnLSTYoA~SLT literal 0 HcmV?d00001 diff --git a/bdwn.png b/bdwn.png new file mode 100644 index 0000000000000000000000000000000000000000..940a0b950443a0bb1b216ac03c45b8a16c955452 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZC{Gv1kP61Pb5HX&C2wk~_T + + + + + + +MinIO C++ SDK: Class Index + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class Index
+
+
+
A | B | C | D | E | G | I | L | M | O | P | R | S | T | U
+
+
+
A
+
AbortMultipartUploadArgs (minio::s3)
+
+
B
+
BaseArgs (minio::s3)
BaseUrl (minio::http)
Bucket (minio::s3)
BucketArgs (minio::s3)
BucketExistsResponse (minio::s3)
+
+
C
+
CharBuffer (minio::utils)
Client (minio::s3)
CompleteMultipartUploadArgs (minio::s3)
CompleteMultipartUploadResponse (minio::s3)
ComposeObjectArgs (minio::s3)
ComposeSource (minio::s3)
CopyObjectArgs (minio::s3)
CreateMultipartUploadArgs (minio::s3)
CreateMultipartUploadResponse (minio::s3)
Credentials (minio::creds)
+
+
D
+
DataCallbackArgs (minio::http)
DownloadObjectArgs (minio::s3)
+
+
E
+
Error (minio::error)
+
+
G
+
GetObjectArgs (minio::s3)
GetRegionResponse (minio::s3)
+
+
I
+
Item (minio::s3)
+
+
L
+
ListBucketsResponse (minio::s3)
ListObjectsArgs (minio::s3)
ListObjectsCommonArgs (minio::s3)
ListObjectsResponse (minio::s3)
ListObjectsResult (minio::s3)
ListObjectsV1Args (minio::s3)
ListObjectsV2Args (minio::s3)
ListObjectVersionsArgs (minio::s3)
+
+
M
+
MakeBucketArgs (minio::s3)
Multimap (minio::utils)
+
+
O
+
ObjectArgs (minio::s3)
ObjectConditionalReadArgs (minio::s3)
ObjectReadArgs (minio::s3)
ObjectVersionArgs (minio::s3)
ObjectWriteArgs (minio::s3)
+
+
P
+
Part (minio::s3)
Provider (minio::creds)
PutObjectApiArgs (minio::s3)
PutObjectArgs (minio::s3)
PutObjectBaseArgs (minio::s3)
PutObjectResponse (minio::s3)
+
+
R
+
Request (minio::http)
RequestBuilder (minio::s3)
Response (minio::http)
Response (minio::s3)
Retention (minio::s3)
+
+
S
+
Sse (minio::s3)
SseCustomerKey (minio::s3)
SseKms (minio::s3)
SseS3 (minio::s3)
StaticProvider (minio::creds)
StatObjectResponse (minio::s3)
+
+
T
+
Time (minio::utils)
+
+
U
+
UploadObjectArgs (minio::s3)
UploadPartArgs (minio::s3)
UploadPartCopyArgs (minio::s3)
Url (minio::utils)
+
+
+ + + + diff --git a/classminio_1_1creds_1_1Credentials-members.html b/classminio_1_1creds_1_1Credentials-members.html new file mode 100644 index 0000000..13d8176 --- /dev/null +++ b/classminio_1_1creds_1_1Credentials-members.html @@ -0,0 +1,87 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
minio::creds::Credentials Member List
+
+
+ +

This is the complete list of members for minio::creds::Credentials, including all inherited members.

+ + + + + + + +
AccessKey() (defined in minio::creds::Credentials)minio::creds::Credentials
Credentials(const Credentials &creds) (defined in minio::creds::Credentials)minio::creds::Credentials
Credentials(std::string_view access_key, std::string_view secret_key, std::string_view session_token="", unsigned int expiration=0) (defined in minio::creds::Credentials)minio::creds::Credentials
IsExpired() (defined in minio::creds::Credentials)minio::creds::Credentials
SecretKey() (defined in minio::creds::Credentials)minio::creds::Credentials
SessionToken() (defined in minio::creds::Credentials)minio::creds::Credentials
+ + + + diff --git a/classminio_1_1creds_1_1Credentials.html b/classminio_1_1creds_1_1Credentials.html new file mode 100644 index 0000000..87489e9 --- /dev/null +++ b/classminio_1_1creds_1_1Credentials.html @@ -0,0 +1,111 @@ + + + + + + + +MinIO C++ SDK: minio::creds::Credentials Class Reference + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
minio::creds::Credentials Class Reference
+
+
+ +

#include <creds.h>

+ + + + + + + + + + + + + + +

+Public Member Functions

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 ()
 
+

Detailed Description

+

Credentials contains access key and secret key with optional session token and expiration.

+

The documentation for this class was generated from the following files:
    +
  • /home/bala/devel/github.com/minio/minio-cpp/include/creds.h
  • +
  • /home/bala/devel/github.com/minio/minio-cpp/src/creds.cc
  • +
+
+ + + + diff --git a/classminio_1_1creds_1_1Provider-members.html b/classminio_1_1creds_1_1Provider-members.html new file mode 100644 index 0000000..9e8d6d8 --- /dev/null +++ b/classminio_1_1creds_1_1Provider-members.html @@ -0,0 +1,84 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
minio::creds::Provider Member List
+
+
+ +

This is the complete list of members for minio::creds::Provider, including all inherited members.

+ + + + +
Fetch()=0 (defined in minio::creds::Provider)minio::creds::Providerpure virtual
Provider() (defined in minio::creds::Provider)minio::creds::Providerinline
~Provider() (defined in minio::creds::Provider)minio::creds::Providerinlinevirtual
+ + + + diff --git a/classminio_1_1creds_1_1Provider.html b/classminio_1_1creds_1_1Provider.html new file mode 100644 index 0000000..38398dd --- /dev/null +++ b/classminio_1_1creds_1_1Provider.html @@ -0,0 +1,104 @@ + + + + + + + +MinIO C++ SDK: minio::creds::Provider Class Reference + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
minio::creds::Provider Class Referenceabstract
+
+
+ +

#include <creds.h>

+
+Inheritance diagram for minio::creds::Provider:
+
+
+ + +minio::creds::StaticProvider + +
+ + + + +

+Public Member Functions

+virtual Credentials Fetch ()=0
 
+

Detailed Description

+

Credential provider interface.

+

The documentation for this class was generated from the following file:
    +
  • /home/bala/devel/github.com/minio/minio-cpp/include/creds.h
  • +
+
+ + + + diff --git a/classminio_1_1creds_1_1Provider.png b/classminio_1_1creds_1_1Provider.png new file mode 100644 index 0000000000000000000000000000000000000000..785a2b3f2265b7c71100e9df985987b16431f866 GIT binary patch literal 655 zcmeAS@N?(olHy`uVBq!ia0vp^OMy6mgBeKruX1$)QW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;`F4HWx4lFj9I*T2 zcJIgDFVpm0?Kb2*whw;0`mI~?z3F>5x4wI;dtcaY)W7hD@AR6&28~NX3T<0hIuvyo zlRUf|Bye+o)az!iHJui{cIz>xsY|*iPn#s-9OV_n<9>QmhUXo?Q>~BD2?qKj+VH XQJT8+iu!b5>S6G7^>bP0l+XkKhn_Xq literal 0 HcmV?d00001 diff --git a/classminio_1_1creds_1_1StaticProvider-members.html b/classminio_1_1creds_1_1StaticProvider-members.html new file mode 100644 index 0000000..e506cb9 --- /dev/null +++ b/classminio_1_1creds_1_1StaticProvider-members.html @@ -0,0 +1,86 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
minio::creds::StaticProvider Member List
+
+
+ +

This is the complete list of members for minio::creds::StaticProvider, including all inherited members.

+ + + + + + +
Fetch() (defined in minio::creds::StaticProvider)minio::creds::StaticProvidervirtual
Provider() (defined in minio::creds::Provider)minio::creds::Providerinline
StaticProvider(std::string_view access_key, std::string_view secret_key, std::string_view session_token="") (defined in minio::creds::StaticProvider)minio::creds::StaticProvider
~Provider() (defined in minio::creds::Provider)minio::creds::Providerinlinevirtual
~StaticProvider() (defined in minio::creds::StaticProvider)minio::creds::StaticProvider
+ + + + diff --git a/classminio_1_1creds_1_1StaticProvider.html b/classminio_1_1creds_1_1StaticProvider.html new file mode 100644 index 0000000..d8b46a1 --- /dev/null +++ b/classminio_1_1creds_1_1StaticProvider.html @@ -0,0 +1,108 @@ + + + + + + + +MinIO C++ SDK: minio::creds::StaticProvider Class Reference + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
minio::creds::StaticProvider Class Reference
+
+
+ +

#include <creds.h>

+
+Inheritance diagram for minio::creds::StaticProvider:
+
+
+ + +minio::creds::Provider + +
+ + + + + + +

+Public Member Functions

StaticProvider (std::string_view access_key, std::string_view secret_key, std::string_view session_token="")
 
+Credentials Fetch ()
 
+

Detailed Description

+

Static credential provider.

+

The documentation for this class was generated from the following files:
    +
  • /home/bala/devel/github.com/minio/minio-cpp/include/creds.h
  • +
  • /home/bala/devel/github.com/minio/minio-cpp/src/creds.cc
  • +
+
+ + + + diff --git a/classminio_1_1creds_1_1StaticProvider.png b/classminio_1_1creds_1_1StaticProvider.png new file mode 100644 index 0000000000000000000000000000000000000000..57d7a317fb3d47a691b644a8b5a2244414738681 GIT binary patch literal 657 zcmeAS@N?(olHy`uVBq!ia0vp^OMy6mgBeKruX1$)QW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;GAr*{o=f3V+Y{28@Z?|OMf93ZD znj3vHtfSYnMD<(DWs!M4;mF(gWtp?|_$RBx&e=3&iOi{>NktXeH`#POtyEjK{`8;J zm$Tje#O(dkE`C~jLVQ}ToK1iHKi$&ubFX@@d_- zW@Vk*5TEtx`nnW36U~^#2EqbCo+5{)uh3J?Jn&wpx_8$hlic9P%6Ffax2#<` z18CD%ZcR_iDN9wJ227hY#W~U|h|hl7WfR|Uc7>Vj2cGV1efqeN{cLo^KaYD3pXH{7 zK4yrVqUykx$~nO~lIcmnGzLrD+znj8r0a#pQgFNI0W?dg;cs2mOEVlzMk``#GsyTd%XIy_%W7Z)^RR zkljm9Zt~Cm^mXQ(r;D~7)7$y`z=cXXIacY%lP})AbpLf>;<63XOn!+Txf6Eex_#a* z$!C*p6afwb0#*;`9|)uZGN7S*OT&NyEEA=9G{^JJ3Ig|IX#E d-P-+`{iv+6#aG2o?||ut!PC{xWt~$(698F-H=+Ol literal 0 HcmV?d00001 diff --git a/classminio_1_1error_1_1Error-members.html b/classminio_1_1error_1_1Error-members.html new file mode 100644 index 0000000..39d334c --- /dev/null +++ b/classminio_1_1error_1_1Error-members.html @@ -0,0 +1,85 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
minio::error::Error Member List
+
+
+ +

This is the complete list of members for minio::error::Error, including all inherited members.

+ + + + + +
Error() (defined in minio::error::Error)minio::error::Errorinline
Error(std::string_view msg) (defined in minio::error::Error)minio::error::Errorinline
operator bool() const (defined in minio::error::Error)minio::error::Errorinline
String() (defined in minio::error::Error)minio::error::Errorinline
+ + + + diff --git a/classminio_1_1error_1_1Error.html b/classminio_1_1error_1_1Error.html new file mode 100644 index 0000000..67cc3c3 --- /dev/null +++ b/classminio_1_1error_1_1Error.html @@ -0,0 +1,97 @@ + + + + + + + +MinIO C++ SDK: minio::error::Error Class Reference + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
minio::error::Error Class Reference
+
+
+ + + + + + + + +

+Public Member Functions

Error (std::string_view msg)
 
+std::string String ()
 
operator bool () const
 
+
The documentation for this class was generated from the following file:
    +
  • /home/bala/devel/github.com/minio/minio-cpp/include/error.h
  • +
+
+ + + + diff --git a/classminio_1_1s3_1_1Client-members.html b/classminio_1_1s3_1_1Client-members.html new file mode 100644 index 0000000..1c7ff00 --- /dev/null +++ b/classminio_1_1s3_1_1Client-members.html @@ -0,0 +1,115 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
minio::s3::Client Member List
+
+
+ +

This is the complete list of members for minio::s3::Client, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AbortMultipartUpload(AbortMultipartUploadArgs args) (defined in minio::s3::Client)minio::s3::Client
BucketExists(BucketExistsArgs args) (defined in minio::s3::Client)minio::s3::Client
CalculatePartCount(size_t &part_count, std::list< ComposeSource > sources) (defined in minio::s3::Client)minio::s3::Client
Client(http::BaseUrl &base_url, creds::Provider *provider=NULL) (defined in minio::s3::Client)minio::s3::Client
CompleteMultipartUpload(CompleteMultipartUploadArgs args) (defined in minio::s3::Client)minio::s3::Client
ComposeObject(ComposeObjectArgs args, std::string &upload_id) (defined in minio::s3::Client)minio::s3::Client
ComposeObject(ComposeObjectArgs args) (defined in minio::s3::Client)minio::s3::Client
CopyObject(CopyObjectArgs args) (defined in minio::s3::Client)minio::s3::Client
CreateMultipartUpload(CreateMultipartUploadArgs args) (defined in minio::s3::Client)minio::s3::Client
Debug(bool flag) (defined in minio::s3::Client)minio::s3::Clientinline
DownloadObject(DownloadObjectArgs args) (defined in minio::s3::Client)minio::s3::Client
Execute(RequestBuilder &builder) (defined in minio::s3::Client)minio::s3::Client
execute(RequestBuilder &builder) (defined in minio::s3::Client)minio::s3::Client
GetErrorResponse(http::Response resp, std::string_view resource, http::Method method, std::string_view bucket_name, std::string_view object_name) (defined in minio::s3::Client)minio::s3::Client
GetObject(GetObjectArgs args) (defined in minio::s3::Client)minio::s3::Client
GetRegion(std::string_view bucket_name, std::string_view region="") (defined in minio::s3::Client)minio::s3::Client
HandleRedirectResponse(std::string &code, std::string &message, int status_code, http::Method method, utils::Multimap headers, std::string_view bucket_name, bool retry=false) (defined in minio::s3::Client)minio::s3::Client
IgnoreCertCheck(bool flag) (defined in minio::s3::Client)minio::s3::Clientinline
ListBuckets(ListBucketsArgs args) (defined in minio::s3::Client)minio::s3::Client
ListBuckets() (defined in minio::s3::Client)minio::s3::Client
ListObjects(ListObjectsArgs args) (defined in minio::s3::Client)minio::s3::Client
ListObjectsV1(ListObjectsV1Args args) (defined in minio::s3::Client)minio::s3::Client
ListObjectsV2(ListObjectsV2Args args) (defined in minio::s3::Client)minio::s3::Client
ListObjectVersions(ListObjectVersionsArgs args) (defined in minio::s3::Client)minio::s3::Client
MakeBucket(MakeBucketArgs args) (defined in minio::s3::Client)minio::s3::Client
PutObject(PutObjectApiArgs args) (defined in minio::s3::Client)minio::s3::Client
PutObject(PutObjectArgs &args, std::string &upload_id, char *buf) (defined in minio::s3::Client)minio::s3::Client
PutObject(PutObjectArgs args) (defined in minio::s3::Client)minio::s3::Client
RemoveBucket(RemoveBucketArgs args) (defined in minio::s3::Client)minio::s3::Client
RemoveObject(RemoveObjectArgs args) (defined in minio::s3::Client)minio::s3::Client
StatObject(StatObjectArgs args) (defined in minio::s3::Client)minio::s3::Client
UploadObject(UploadObjectArgs args) (defined in minio::s3::Client)minio::s3::Client
UploadPart(UploadPartArgs args) (defined in minio::s3::Client)minio::s3::Client
UploadPartCopy(UploadPartCopyArgs args) (defined in minio::s3::Client)minio::s3::Client
+ + + + diff --git a/classminio_1_1s3_1_1Client.html b/classminio_1_1s3_1_1Client.html new file mode 100644 index 0000000..1b16d59 --- /dev/null +++ b/classminio_1_1s3_1_1Client.html @@ -0,0 +1,195 @@ + + + + + + + +MinIO C++ SDK: minio::s3::Client Class Reference + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
minio::s3::Client Class Reference
+
+
+ +

#include <client.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Client (http::BaseUrl &base_url, creds::Provider *provider=NULL)
 
+void Debug (bool flag)
 
+void IgnoreCertCheck (bool 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)
 
+ListObjectsResponse ListObjectsV1 (ListObjectsV1Args args)
 
+ListObjectsResponse ListObjectsV2 (ListObjectsV2Args args)
 
+ListObjectsResponse ListObjectVersions (ListObjectVersionsArgs args)
 
+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)
 
+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)
 
+

Detailed Description

+

Simple Storage Service (aka S3) client to perform bucket and object operations asynchronously.

+

The documentation for this class was generated from the following files:
    +
  • /home/bala/devel/github.com/minio/minio-cpp/include/client.h
  • +
  • /home/bala/devel/github.com/minio/minio-cpp/src/client.cc
  • +
+
+ + + + diff --git a/classminio_1_1s3_1_1ListObjectsResult-members.html b/classminio_1_1s3_1_1ListObjectsResult-members.html new file mode 100644 index 0000000..137a57d --- /dev/null +++ b/classminio_1_1s3_1_1ListObjectsResult-members.html @@ -0,0 +1,87 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
minio::s3::ListObjectsResult Member List
+
+
+ +

This is the complete list of members for minio::s3::ListObjectsResult, including all inherited members.

+ + + + + + + +
ListObjectsResult(error::Error err) (defined in minio::s3::ListObjectsResult)minio::s3::ListObjectsResult
ListObjectsResult(Client *client, ListObjectsArgs *args) (defined in minio::s3::ListObjectsResult)minio::s3::ListObjectsResult
operator bool() const (defined in minio::s3::ListObjectsResult)minio::s3::ListObjectsResultinline
operator*() const (defined in minio::s3::ListObjectsResult)minio::s3::ListObjectsResultinline
operator++() (defined in minio::s3::ListObjectsResult)minio::s3::ListObjectsResultinline
operator++(int) (defined in minio::s3::ListObjectsResult)minio::s3::ListObjectsResultinline
+ + + + diff --git a/classminio_1_1s3_1_1ListObjectsResult.html b/classminio_1_1s3_1_1ListObjectsResult.html new file mode 100644 index 0000000..5d68409 --- /dev/null +++ b/classminio_1_1s3_1_1ListObjectsResult.html @@ -0,0 +1,107 @@ + + + + + + + +MinIO C++ SDK: minio::s3::ListObjectsResult Class Reference + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
minio::s3::ListObjectsResult Class Reference
+
+
+ + + + + + + + + + + + + + +

+Public Member Functions

ListObjectsResult (error::Error err)
 
ListObjectsResult (Client *client, ListObjectsArgs *args)
 
+Itemoperator* () const
 
operator bool () const
 
+ListObjectsResultoperator++ ()
 
+ListObjectsResult operator++ (int)
 
+
The documentation for this class was generated from the following files:
    +
  • /home/bala/devel/github.com/minio/minio-cpp/include/client.h
  • +
  • /home/bala/devel/github.com/minio/minio-cpp/src/client.cc
  • +
+
+ + + + diff --git a/classminio_1_1s3_1_1Sse-members.html b/classminio_1_1s3_1_1Sse-members.html new file mode 100644 index 0000000..78e8fce --- /dev/null +++ b/classminio_1_1s3_1_1Sse-members.html @@ -0,0 +1,87 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
minio::s3::Sse Member List
+
+
+ +

This is the complete list of members for minio::s3::Sse, including all inherited members.

+ + + + + + + +
CopyHeaders() (defined in minio::s3::Sse)minio::s3::Sseinline
empty_ (defined in minio::s3::Sse)minio::s3::Sse
Headers()=0 (defined in minio::s3::Sse)minio::s3::Ssepure virtual
Sse() (defined in minio::s3::Sse)minio::s3::Sseinline
TlsRequired() (defined in minio::s3::Sse)minio::s3::Sseinline
~Sse() (defined in minio::s3::Sse)minio::s3::Sseinlinevirtual
+ + + + diff --git a/classminio_1_1s3_1_1Sse.html b/classminio_1_1s3_1_1Sse.html new file mode 100644 index 0000000..794a590 --- /dev/null +++ b/classminio_1_1s3_1_1Sse.html @@ -0,0 +1,115 @@ + + + + + + + +MinIO C++ SDK: minio::s3::Sse Class Reference + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
minio::s3::Sse Class Referenceabstract
+
+
+
+Inheritance diagram for minio::s3::Sse:
+
+
+ + +minio::s3::SseCustomerKey +minio::s3::SseKms +minio::s3::SseS3 + +
+ + + + + + + + +

+Public Member Functions

+bool TlsRequired ()
 
+utils::Multimap CopyHeaders ()
 
+virtual utils::Multimap Headers ()=0
 
+ + + +

+Public Attributes

+utils::Multimap empty_
 
+
The documentation for this class was generated from the following file:
    +
  • /home/bala/devel/github.com/minio/minio-cpp/include/sse.h
  • +
+
+ + + + diff --git a/classminio_1_1s3_1_1Sse.png b/classminio_1_1s3_1_1Sse.png new file mode 100644 index 0000000000000000000000000000000000000000..81119ba1198861e51e17691942b1649975c2f801 GIT binary patch literal 1076 zcmeAS@N?(olHy`uVBq!ia0y~yVEhGS2XHV0$z#^;?m$W+z$e7@|Ns9$=8HF9OZyK^ z0J6aNz<~p-opF2WM z+re6DdG-4~qytsF2)bE)A^pMr$>-&hf!vIhIlJQbX6&82zNviv54!@pN}Z--VhJFb zp#RT*FZ{3fp>o0vneJz$pFZ}Sy~^+$XoK9A+OH~~0w>QrJhgE?@1a+WdQKaDc^y7~ zZ2H}WYad73I`A*LDsR%X={fV9<_KQs%vtOK?~tm*A5349KzpvI2DE5-Z~GO`g@$mlyyA9#w|U z*GixCX=0FJ;qTy`Ys{(ya*bp6K3iN=_h0Ndr{^U``PKX@epyABDtTJp+W)KiPWqdw z+Et6yuUyxE`APNf|7aO?6;Jk(->=R;t^RL0_j_=yR^INp>lw?sbJrWr7vat`{>`z; zXYJ?Hi?6---dMV#W8;xb&Ga|XHj|?_PhGNo%c}Q*U(3GM``4*_N?#e{H2eQ~p77OA zO(PS(eHU6=5fUf0`sehmx0l#`(!I7cqGigGa+B5lr?*Ea_43+#KHbRuJI!8e+MSKR zde8qYHsk*5{WVCdZ~eWb`1{7Jx&L2HozkEGY3(<5Ppd_)e*<4UpR_wPJ95{0-u*F2P-7E4d zx^p|^c;mf}ek{GJZSEa3^;lc|lq1>9>vI$GrT^)D&UMA*#R6Afycz>K&<@sy+ zpRje}zJ}{#fFc#^R_%Kc8K&>~F=qS2=)EeXN01|JW0fb@VW>bw-mB%Av-Ere&t=Y9 f=Ka}w=RfvEA{qHg>h+qyEY9HR>gTe~DWM4fqg)B1 literal 0 HcmV?d00001 diff --git a/classminio_1_1s3_1_1SseCustomerKey-members.html b/classminio_1_1s3_1_1SseCustomerKey-members.html new file mode 100644 index 0000000..437746d --- /dev/null +++ b/classminio_1_1s3_1_1SseCustomerKey-members.html @@ -0,0 +1,88 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
minio::s3::SseCustomerKey Member List
+
+
+ +

This is the complete list of members for minio::s3::SseCustomerKey, including all inherited members.

+ + + + + + + + +
CopyHeaders() (defined in minio::s3::SseCustomerKey)minio::s3::SseCustomerKeyinline
empty_ (defined in minio::s3::Sse)minio::s3::Sse
Headers() (defined in minio::s3::SseCustomerKey)minio::s3::SseCustomerKeyinlinevirtual
Sse() (defined in minio::s3::Sse)minio::s3::Sseinline
SseCustomerKey(std::string_view key) (defined in minio::s3::SseCustomerKey)minio::s3::SseCustomerKey
TlsRequired() (defined in minio::s3::Sse)minio::s3::Sseinline
~Sse() (defined in minio::s3::Sse)minio::s3::Sseinlinevirtual
+ + + + diff --git a/classminio_1_1s3_1_1SseCustomerKey.html b/classminio_1_1s3_1_1SseCustomerKey.html new file mode 100644 index 0000000..9d2ec0b --- /dev/null +++ b/classminio_1_1s3_1_1SseCustomerKey.html @@ -0,0 +1,121 @@ + + + + + + + +MinIO C++ SDK: minio::s3::SseCustomerKey Class Reference + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
minio::s3::SseCustomerKey Class Reference
+
+
+
+Inheritance diagram for minio::s3::SseCustomerKey:
+
+
+ + +minio::s3::Sse + +
+ + + + + + + + + + + + + +

+Public Member Functions

SseCustomerKey (std::string_view key)
 
+utils::Multimap Headers ()
 
+utils::Multimap CopyHeaders ()
 
- Public Member Functions inherited from minio::s3::Sse
+bool TlsRequired ()
 
+utils::Multimap CopyHeaders ()
 
+ + + + +

+Additional Inherited Members

- Public Attributes inherited from minio::s3::Sse
+utils::Multimap empty_
 
+
The documentation for this class was generated from the following files:
    +
  • /home/bala/devel/github.com/minio/minio-cpp/include/sse.h
  • +
  • /home/bala/devel/github.com/minio/minio-cpp/src/sse.cc
  • +
+
+ + + + diff --git a/classminio_1_1s3_1_1SseCustomerKey.png b/classminio_1_1s3_1_1SseCustomerKey.png new file mode 100644 index 0000000000000000000000000000000000000000..b404e65023feecf48c2816a5bbb6f406598a3616 GIT binary patch literal 623 zcmeAS@N?(olHy`uVBq!ia0vp^i-0(QgBeJ!EsL`TQW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;y~)xb({Z|4&Zl zZt?c;FTQgwpjUO<6N#qqTF>}S!(%&Lr!1NIv}01rRAsM8q5EBUn7xA{6+@&?A3kd6 z`O8!O)FZEwfZSv6CEqKynFev~zahEAJ97U0q&FMPgR6uKAKx;(?r=OPV6%|ly*o2! zU7qx1*1NPo$JE}YzTICue(-cOJBe?)BKlqHZ{3mZBiFW0TXOwtr&GM*zr%4p#<$M6 zJwJ8sy#E%JzonLoR3hQdxZfy|+!M_GU~d(}nYBL!<@;YsK6j7dNKgO6iQmpz z+ulB$`8zV^y!`tfeYvW52N`)w0dwWK(Qp2^P2Xe}V_3H4@m{qzukLR9RL3XgaR|A6^>bP0l+XkK?3y0` literal 0 HcmV?d00001 diff --git a/classminio_1_1s3_1_1SseKms-members.html b/classminio_1_1s3_1_1SseKms-members.html new file mode 100644 index 0000000..1e8a98c --- /dev/null +++ b/classminio_1_1s3_1_1SseKms-members.html @@ -0,0 +1,88 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
minio::s3::SseKms Member List
+
+
+ +

This is the complete list of members for minio::s3::SseKms, including all inherited members.

+ + + + + + + + +
CopyHeaders() (defined in minio::s3::Sse)minio::s3::Sseinline
empty_ (defined in minio::s3::Sse)minio::s3::Sse
Headers() (defined in minio::s3::SseKms)minio::s3::SseKmsinlinevirtual
Sse() (defined in minio::s3::Sse)minio::s3::Sseinline
SseKms(std::string_view key, std::string_view context) (defined in minio::s3::SseKms)minio::s3::SseKms
TlsRequired() (defined in minio::s3::Sse)minio::s3::Sseinline
~Sse() (defined in minio::s3::Sse)minio::s3::Sseinlinevirtual
+ + + + diff --git a/classminio_1_1s3_1_1SseKms.html b/classminio_1_1s3_1_1SseKms.html new file mode 100644 index 0000000..c369432 --- /dev/null +++ b/classminio_1_1s3_1_1SseKms.html @@ -0,0 +1,118 @@ + + + + + + + +MinIO C++ SDK: minio::s3::SseKms Class Reference + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
minio::s3::SseKms Class Reference
+
+
+
+Inheritance diagram for minio::s3::SseKms:
+
+
+ + +minio::s3::Sse + +
+ + + + + + + + + + + +

+Public Member Functions

SseKms (std::string_view key, std::string_view context)
 
+utils::Multimap Headers ()
 
- Public Member Functions inherited from minio::s3::Sse
+bool TlsRequired ()
 
+utils::Multimap CopyHeaders ()
 
+ + + + +

+Additional Inherited Members

- Public Attributes inherited from minio::s3::Sse
+utils::Multimap empty_
 
+
The documentation for this class was generated from the following files:
    +
  • /home/bala/devel/github.com/minio/minio-cpp/include/sse.h
  • +
  • /home/bala/devel/github.com/minio/minio-cpp/src/sse.cc
  • +
+
+ + + + diff --git a/classminio_1_1s3_1_1SseKms.png b/classminio_1_1s3_1_1SseKms.png new file mode 100644 index 0000000000000000000000000000000000000000..281fd02da6eb69ab937a7a3e496e8513b1376f3b GIT binary patch literal 508 zcmVvTJkN^MxkN^Mxkifve1&Q1r00008bW%=J0RR90|NsC0)yh;d0004tNkl=?EI*kcX1a5*Zq{FUiX`Mg>!nlIBU&ZbW3URy~&iM z4{6~f$w><*Nlu!N3n7GQ0=T0Gz&y>xJswkeb8#DOCT}wCpHJq(0eETQ0GzaN08Uys z04FURfRh#uz)1@S;G~5E=w)U$PZ+=~EgXQ8ejQi7FD|mrS2Nc@W5>cc`2Fhk^Eqai zxj6w;mT`v@4{m-6=}PJAF3t%~aq$}2D}f1jFwXsbHycJ{F*t3W;oa%DSf_ld4x?D> zefO%l5hbp_Lml`!ZqUp^iJdQvX;M5l6Rff!?xNtjmU>j`((X0$3fIShJ=qJmcGd>t ym;SqMtD4JkGXXxYg#&QX!T~sGKF-W+n!W(5V;Aq!1oB}30000 + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
minio::s3::SseS3 Member List
+
+
+ +

This is the complete list of members for minio::s3::SseS3, including all inherited members.

+ + + + + + + + +
CopyHeaders() (defined in minio::s3::Sse)minio::s3::Sseinline
empty_ (defined in minio::s3::Sse)minio::s3::Sse
Headers() (defined in minio::s3::SseS3)minio::s3::SseS3inlinevirtual
Sse() (defined in minio::s3::Sse)minio::s3::Sseinline
SseS3() (defined in minio::s3::SseS3)minio::s3::SseS3
TlsRequired() (defined in minio::s3::SseS3)minio::s3::SseS3inline
~Sse() (defined in minio::s3::Sse)minio::s3::Sseinlinevirtual
+ + + + diff --git a/classminio_1_1s3_1_1SseS3.html b/classminio_1_1s3_1_1SseS3.html new file mode 100644 index 0000000..4fe4b6d --- /dev/null +++ b/classminio_1_1s3_1_1SseS3.html @@ -0,0 +1,118 @@ + + + + + + + +MinIO C++ SDK: minio::s3::SseS3 Class Reference + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
minio::s3::SseS3 Class Reference
+
+
+
+Inheritance diagram for minio::s3::SseS3:
+
+
+ + +minio::s3::Sse + +
+ + + + + + + + + + + +

+Public Member Functions

+utils::Multimap Headers ()
 
+bool TlsRequired ()
 
- Public Member Functions inherited from minio::s3::Sse
+bool TlsRequired ()
 
+utils::Multimap CopyHeaders ()
 
+ + + + +

+Additional Inherited Members

- Public Attributes inherited from minio::s3::Sse
+utils::Multimap empty_
 
+
The documentation for this class was generated from the following files:
    +
  • /home/bala/devel/github.com/minio/minio-cpp/include/sse.h
  • +
  • /home/bala/devel/github.com/minio/minio-cpp/src/sse.cc
  • +
+
+ + + + diff --git a/classminio_1_1s3_1_1SseS3.png b/classminio_1_1s3_1_1SseS3.png new file mode 100644 index 0000000000000000000000000000000000000000..d407fc4a6e2d8c1d3aa91ec8d550836df3fdd857 GIT binary patch literal 488 zcmeAS@N?(olHy`uVBq!ia0vp^X+Rvn!3-qtD1CSUq$C1-LR|m<{|{uoc=NTi|Ih>= z3ycpOIKbL@M;^%KC<*clW&kPzfvcxNj2IXg%ROBjLn;{G&b{4t*nq=@KY8W<|0ie9 ze(XKz-KA?Qw>TxKBqjG9d@^@Rkd*!;mEN!fm6I#;liwVf9CBvOtr>QDhwiOOJGU!6 zZch3fx#Z$6(~>?FZ+iEtcJ9&0#`a5mGgQBK&1x>6ymF&%>b;oHW*5(|p1AVH&4ZuA zZ*%__dA1}|_4l=h`?A+3=y9$2t+sOG^;u=Dm7jCB-ORkVJNi_2{cICYsRai-CIvT6 zR9XJ+@RBK)3K%QCGDxhiHt0XDJEz(}_$l8x-x>90nT?Devd1xo|!i*5*ZeQg!Z**-WM02@qF3L;0CwKjc|FFyZd@`|b>jZ@6AwXYkijec2hm%3FDw`eF8`)c;8{Y=^pM7k_e^ bS&V&!qnO=pv0d80XkqYl^>bP0l+XkK67%6( literal 0 HcmV?d00001 diff --git a/classminio_1_1utils_1_1Multimap-members.html b/classminio_1_1utils_1_1Multimap-members.html new file mode 100644 index 0000000..98eb118 --- /dev/null +++ b/classminio_1_1utils_1_1Multimap-members.html @@ -0,0 +1,94 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
minio::utils::Multimap Member List
+
+
+ +

This is the complete list of members for minio::utils::Multimap, including all inherited members.

+ + + + + + + + + + + + + + +
Add(std::string key, std::string value) (defined in minio::utils::Multimap)minio::utils::Multimap
AddAll(const Multimap &headers) (defined in minio::utils::Multimap)minio::utils::Multimap
Contains(std::string_view key) (defined in minio::utils::Multimap)minio::utils::Multimap
Get(std::string_view key) (defined in minio::utils::Multimap)minio::utils::Multimap
GetCanonicalHeaders(std::string &signed_headers, std::string &canonical_headers) (defined in minio::utils::Multimap)minio::utils::Multimap
GetCanonicalQueryString() (defined in minio::utils::Multimap)minio::utils::Multimap
GetFront(std::string_view key) (defined in minio::utils::Multimap)minio::utils::Multimap
Keys() (defined in minio::utils::Multimap)minio::utils::Multimap
Multimap() (defined in minio::utils::Multimap)minio::utils::Multimap
Multimap(const Multimap &headers) (defined in minio::utils::Multimap)minio::utils::Multimap
operator bool() const (defined in minio::utils::Multimap)minio::utils::Multimapinline
ToHttpHeaders() (defined in minio::utils::Multimap)minio::utils::Multimap
ToQueryString() (defined in minio::utils::Multimap)minio::utils::Multimap
+ + + + diff --git a/classminio_1_1utils_1_1Multimap.html b/classminio_1_1utils_1_1Multimap.html new file mode 100644 index 0000000..3b1d7f7 --- /dev/null +++ b/classminio_1_1utils_1_1Multimap.html @@ -0,0 +1,129 @@ + + + + + + + +MinIO C++ SDK: minio::utils::Multimap Class Reference + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
minio::utils::Multimap Class Reference
+
+
+ +

#include <utils.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

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
 
+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 ()
 
+

Detailed Description

+

Multimap represents dictionary of keys and their multiple values.

+

The documentation for this class was generated from the following files:
    +
  • /home/bala/devel/github.com/minio/minio-cpp/include/utils.h
  • +
  • /home/bala/devel/github.com/minio/minio-cpp/src/utils.cc
  • +
+
+ + + + diff --git a/classminio_1_1utils_1_1Time-members.html b/classminio_1_1utils_1_1Time-members.html new file mode 100644 index 0000000..5305c44 --- /dev/null +++ b/classminio_1_1utils_1_1Time-members.html @@ -0,0 +1,92 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
minio::utils::Time Member List
+
+
+ +

This is the complete list of members for minio::utils::Time, including all inherited members.

+ + + + + + + + + + + + +
FromHttpHeaderValue(const char *value) (defined in minio::utils::Time)minio::utils::Timestatic
FromISO8601UTC(const char *value) (defined in minio::utils::Time)minio::utils::Timestatic
Now() (defined in minio::utils::Time)minio::utils::Timestatic
operator bool() const (defined in minio::utils::Time)minio::utils::Timeinline
Time() (defined in minio::utils::Time)minio::utils::Time
Time(std::time_t tv_sec, suseconds_t tv_usec, bool utc) (defined in minio::utils::Time)minio::utils::Time
ToAmzDate() (defined in minio::utils::Time)minio::utils::Time
ToHttpHeaderValue() (defined in minio::utils::Time)minio::utils::Time
ToISO8601UTC() (defined in minio::utils::Time)minio::utils::Time
ToSignerDate() (defined in minio::utils::Time)minio::utils::Time
ToUTC() (defined in minio::utils::Time)minio::utils::Time
+ + + + diff --git a/classminio_1_1utils_1_1Time.html b/classminio_1_1utils_1_1Time.html new file mode 100644 index 0000000..de8b57b --- /dev/null +++ b/classminio_1_1utils_1_1Time.html @@ -0,0 +1,127 @@ + + + + + + + +MinIO C++ SDK: minio::utils::Time Class Reference + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
minio::utils::Time Class Reference
+
+
+ +

#include <utils.h>

+ + + + + + + + + + + + + + + + +

+Public Member Functions

Time (std::time_t tv_sec, suseconds_t tv_usec, bool utc)
 
+std::tm * ToUTC ()
 
+std::string ToSignerDate ()
 
+std::string ToAmzDate ()
 
+std::string ToHttpHeaderValue ()
 
+std::string ToISO8601UTC ()
 
operator bool () const
 
+ + + + + + + +

+Static Public Member Functions

+static Time FromHttpHeaderValue (const char *value)
 
+static Time FromISO8601UTC (const char *value)
 
+static Time Now ()
 
+

Detailed Description

+

Time represents date and time with timezone.

+

The documentation for this class was generated from the following files:
    +
  • /home/bala/devel/github.com/minio/minio-cpp/include/utils.h
  • +
  • /home/bala/devel/github.com/minio/minio-cpp/src/utils.cc
  • +
+
+ + + + diff --git a/client_8h_source.html b/client_8h_source.html new file mode 100644 index 0000000..54c6225 --- /dev/null +++ b/client_8h_source.html @@ -0,0 +1,247 @@ + + + + + + + +MinIO C++ SDK: /home/bala/devel/github.com/minio/minio-cpp/include/client.h Source File + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
client.h
+
+
+
1 // MinIO C++ Library for Amazon S3 Compatible Cloud Storage
+
2 // Copyright 2022 MinIO, Inc.
+
3 //
+
4 // Licensed under the Apache License, Version 2.0 (the "License");
+
5 // you may not use this file except in compliance with the License.
+
6 // You may obtain a copy of the License at
+
7 //
+
8 // http://www.apache.org/licenses/LICENSE-2.0
+
9 //
+
10 // Unless required by applicable law or agreed to in writing, software
+
11 // distributed under the License is distributed on an "AS IS" BASIS,
+
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
13 // See the License for the specific language governing permissions and
+
14 // limitations under the License.
+
15 
+
16 #ifndef _MINIO_S3_CLIENT_H
+
17 #define _MINIO_S3_CLIENT_H
+
18 
+
19 #include <fstream>
+
20 
+
21 #include "args.h"
+
22 #include "request-builder.h"
+
23 #include "response.h"
+
24 
+
25 namespace minio {
+
26 namespace s3 {
+
27 utils::Multimap GetCommonListObjectsQueryParams(std::string delimiter,
+
28  std::string encoding_type,
+
29  unsigned int max_keys,
+
30  std::string prefix);
+
31 
+
32 class ListObjectsResult;
+
33 
+
38 class Client {
+
39  private:
+
40  http::BaseUrl& base_url_;
+
41  creds::Provider* provider_ = NULL;
+
42  std::map<std::string, std::string> region_map_;
+
43  bool debug_ = false;
+
44  bool ignore_cert_check_ = false;
+
45 
+
46  public:
+
47  Client(http::BaseUrl& base_url, creds::Provider* provider = NULL);
+
48 
+
49  void Debug(bool flag) { debug_ = flag; }
+
50 
+
51  void IgnoreCertCheck(bool flag) { ignore_cert_check_ = flag; }
+
52 
+
53  void HandleRedirectResponse(std::string& code, std::string& message,
+
54  int status_code, http::Method method,
+
55  utils::Multimap headers,
+
56  std::string_view bucket_name, bool retry = false);
+
57  Response GetErrorResponse(http::Response resp, std::string_view resource,
+
58  http::Method method, std::string_view bucket_name,
+
59  std::string_view object_name);
+
60  Response execute(RequestBuilder& builder);
+
61  Response Execute(RequestBuilder& builder);
+
62 
+
63  // S3 APIs
+
64  ListObjectsResponse ListObjectsV1(ListObjectsV1Args args);
+
65  ListObjectsResponse ListObjectsV2(ListObjectsV2Args args);
+
66  ListObjectsResponse ListObjectVersions(ListObjectVersionsArgs args);
+
67 
+
68  // Bucket operations
+
69  GetRegionResponse GetRegion(std::string_view bucket_name,
+
70  std::string_view region = "");
+
71  MakeBucketResponse MakeBucket(MakeBucketArgs args);
+
72  ListBucketsResponse ListBuckets(ListBucketsArgs args);
+
73  ListBucketsResponse ListBuckets();
+
74  BucketExistsResponse BucketExists(BucketExistsArgs args);
+
75  RemoveBucketResponse RemoveBucket(RemoveBucketArgs args);
+
76 
+
77  // Object operations
+
78  AbortMultipartUploadResponse AbortMultipartUpload(
+ +
80  CompleteMultipartUploadResponse CompleteMultipartUpload(
+ +
82  CreateMultipartUploadResponse CreateMultipartUpload(
+ +
84  PutObjectResponse PutObject(PutObjectApiArgs args);
+
85  UploadPartResponse UploadPart(UploadPartArgs args);
+
86  UploadPartCopyResponse UploadPartCopy(UploadPartCopyArgs args);
+
87  StatObjectResponse StatObject(StatObjectArgs args);
+
88  RemoveObjectResponse RemoveObject(RemoveObjectArgs args);
+
89  DownloadObjectResponse DownloadObject(DownloadObjectArgs args);
+
90  GetObjectResponse GetObject(GetObjectArgs args);
+
91  ListObjectsResult ListObjects(ListObjectsArgs args);
+
92  PutObjectResponse PutObject(PutObjectArgs& args, std::string& upload_id,
+
93  char* buf);
+
94  PutObjectResponse PutObject(PutObjectArgs args);
+
95  CopyObjectResponse CopyObject(CopyObjectArgs args);
+
96  StatObjectResponse CalculatePartCount(size_t& part_count,
+
97  std::list<ComposeSource> sources);
+
98  ComposeObjectResponse ComposeObject(ComposeObjectArgs args,
+
99  std::string& upload_id);
+
100  ComposeObjectResponse ComposeObject(ComposeObjectArgs args);
+
101  UploadObjectResponse UploadObject(UploadObjectArgs args);
+
102 }; // class Client
+
103 
+ +
105  private:
+
106  Client* client_ = NULL;
+
107  ListObjectsArgs* args_ = NULL;
+
108  bool failed_ = false;
+
109  ListObjectsResponse resp_;
+
110  std::list<Item>::iterator itr_;
+
111 
+
112  void Populate();
+
113 
+
114  public:
+ +
116  ListObjectsResult(Client* client, ListObjectsArgs* args);
+
117  Item& operator*() const { return *itr_; }
+
118  operator bool() const { return itr_ != resp_.contents.end(); }
+
119  ListObjectsResult& operator++() {
+
120  itr_++;
+
121  if (!failed_ && itr_ == resp_.contents.end() && resp_.is_truncated) {
+
122  Populate();
+
123  }
+
124  return *this;
+
125  }
+
126  ListObjectsResult operator++(int) {
+
127  ListObjectsResult curr = *this;
+
128  ++(*this);
+
129  return curr;
+
130  }
+
131 }; // class ListObjectsResult
+
132 } // namespace s3
+
133 } // namespace minio
+
134 #endif // #ifndef __MINIO_S3_CLIENT_H
+
Definition: creds.h:47
+
Definition: error.h:23
+
Definition: client.h:38
+
Definition: client.h:104
+
Definition: utils.h:119
+
Definition: http.h:53
+
Definition: http.h:108
+ +
Definition: args.h:27
+
Definition: args.h:32
+
Definition: response.h:71
+ + +
Definition: args.h:227
+
Definition: args.h:209
+ + +
Definition: args.h:137
+
Definition: args.h:144
+
Definition: response.h:52
+
Definition: response.h:138
+
Definition: response.h:62
+
Definition: args.h:192
+
Definition: args.h:151
+
Definition: response.h:158
+
Definition: args.h:175
+
Definition: args.h:182
+
Definition: args.h:76
+ +
Definition: args.h:56
+
Definition: args.h:112
+
Definition: args.h:200
+
Definition: response.h:103
+
Definition: request-builder.h:24
+
Definition: response.h:25
+
Definition: response.h:116
+
Definition: args.h:233
+
Definition: args.h:117
+
Definition: args.h:125
+
+ + + + diff --git a/closed.png b/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..98cc2c909da37a6df914fbf67780eebd99c597f5 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8{^CZMh(5KoB^r_<4^zF@3)Cp&&t3hdujKf f*?bjBoY!V+E))@{xMcbjXe@)LtDnm{r-UW|*e5JT literal 0 HcmV?d00001 diff --git a/cmake/modules/FindPugiXML.cmake b/cmake/modules/FindPugiXML.cmake deleted file mode 100644 index d3a329f..0000000 --- a/cmake/modules/FindPugiXML.cmake +++ /dev/null @@ -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) diff --git a/creds_8h_source.html b/creds_8h_source.html new file mode 100644 index 0000000..a7541cf --- /dev/null +++ b/creds_8h_source.html @@ -0,0 +1,141 @@ + + + + + + + +MinIO C++ SDK: /home/bala/devel/github.com/minio/minio-cpp/include/creds.h Source File + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
creds.h
+
+
+
1 // MinIO C++ Library for Amazon S3 Compatible Cloud Storage
+
2 // Copyright 2022 MinIO, Inc.
+
3 //
+
4 // Licensed under the Apache License, Version 2.0 (the "License");
+
5 // you may not use this file except in compliance with the License.
+
6 // You may obtain a copy of the License at
+
7 //
+
8 // http://www.apache.org/licenses/LICENSE-2.0
+
9 //
+
10 // Unless required by applicable law or agreed to in writing, software
+
11 // distributed under the License is distributed on an "AS IS" BASIS,
+
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
13 // See the License for the specific language governing permissions and
+
14 // limitations under the License.
+
15 
+
16 #ifndef _MINIO_CREDS_H
+
17 #define _MINIO_CREDS_H
+
18 
+
19 #include <string>
+
20 
+
21 namespace minio {
+
22 namespace creds {
+
27 class Credentials {
+
28  private:
+
29  std::string_view access_key_;
+
30  std::string_view secret_key_;
+
31  std::string_view session_token_;
+
32  unsigned int expiration_;
+
33 
+
34  public:
+
35  Credentials(const Credentials& creds);
+
36  Credentials(std::string_view access_key, std::string_view secret_key,
+
37  std::string_view session_token = "", unsigned int expiration = 0);
+
38  std::string AccessKey();
+
39  std::string SecretKey();
+
40  std::string SessionToken();
+
41  bool IsExpired();
+
42 }; // class Credentials
+
43 
+
47 class Provider {
+
48  public:
+
49  Provider() {}
+
50  virtual ~Provider() {}
+
51  virtual Credentials Fetch() = 0;
+
52 }; // class Provider
+
53 
+
57 class StaticProvider : public Provider {
+
58  private:
+
59  Credentials* creds_ = NULL;
+
60 
+
61  public:
+
62  StaticProvider(std::string_view access_key, std::string_view secret_key,
+
63  std::string_view session_token = "");
+
64  ~StaticProvider();
+
65  Credentials Fetch();
+
66 }; // class StaticProvider
+
67 } // namespace creds
+
68 } // namespace minio
+
69 
+
70 #endif // #ifndef _MINIO_CREDS_H
+
Definition: creds.h:27
+
Definition: creds.h:47
+
Definition: creds.h:57
+
+ + + + diff --git a/dir_49e56c817e5e54854c35e136979f97ca.html b/dir_49e56c817e5e54854c35e136979f97ca.html new file mode 100644 index 0000000..2026cb3 --- /dev/null +++ b/dir_49e56c817e5e54854c35e136979f97ca.html @@ -0,0 +1,78 @@ + + + + + + + +MinIO C++ SDK: /home/bala/devel/github.com/minio/minio-cpp/docs Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
docs Directory Reference
+
+
+
+ + + + diff --git a/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/dir_68267d1309a1af8e8297ef4c3efbcdba.html new file mode 100644 index 0000000..6dc778b --- /dev/null +++ b/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -0,0 +1,78 @@ + + + + + + + +MinIO C++ SDK: /home/bala/devel/github.com/minio/minio-cpp/src Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
src Directory Reference
+
+
+
+ + + + diff --git a/dir_d44c64559bbebec7f509842c48db8b23.html b/dir_d44c64559bbebec7f509842c48db8b23.html new file mode 100644 index 0000000..25b7ff9 --- /dev/null +++ b/dir_d44c64559bbebec7f509842c48db8b23.html @@ -0,0 +1,78 @@ + + + + + + + +MinIO C++ SDK: /home/bala/devel/github.com/minio/minio-cpp/include Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
include Directory Reference
+
+
+
+ + + + diff --git a/doc.png b/doc.png new file mode 100644 index 0000000000000000000000000000000000000000..17edabff95f7b8da13c9516a04efe05493c29501 GIT binary patch literal 746 zcmV7=@pnbNXRFEm&G8P!&WHG=d)>K?YZ1bzou)2{$)) zumDct!>4SyxL;zgaG>wy`^Hv*+}0kUfCrz~BCOViSb$_*&;{TGGn2^x9K*!Sf0=lV zpP=7O;GA0*Jm*tTYj$IoXvimpnV4S1Z5f$p*f$Db2iq2zrVGQUz~yq`ahn7ck(|CE z7Gz;%OP~J6)tEZWDzjhL9h2hdfoU2)Nd%T<5Kt;Y0XLt&<@6pQx!nw*5`@bq#?l*?3z{Hlzoc=Pr>oB5(9i6~_&-}A(4{Q$>c>%rV&E|a(r&;?i5cQB=} zYSDU5nXG)NS4HEs0it2AHe2>shCyr7`6@4*6{r@8fXRbTA?=IFVWAQJL&H5H{)DpM#{W(GL+Idzf^)uRV@oB8u$ z8v{MfJbTiiRg4bza<41NAzrl{=3fl_D+$t+^!xlQ8S}{UtY`e z;;&9UhyZqQRN%2pot{*Ei0*4~hSF_3AH2@fKU!$NSflS>{@tZpDT4`M2WRTTVH+D? z)GFlEGGHe?koB}i|1w45!BF}N_q&^HJ&-tyR{(afC6H7|aml|tBBbv}55C5DNP8p3 z)~jLEO4Z&2hZmP^i-e%(@d!(E|KRafiU8Q5u(wU((j8un3OR*Hvj+t literal 0 HcmV?d00001 diff --git a/docs/CNAME b/docs/CNAME deleted file mode 100644 index 87f6f45..0000000 --- a/docs/CNAME +++ /dev/null @@ -1 +0,0 @@ -minio-cpp.min.io \ No newline at end of file diff --git a/docs/Doxyfile.in b/docs/Doxyfile.in deleted file mode 100644 index d4cab41..0000000 --- a/docs/Doxyfile.in +++ /dev/null @@ -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 diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index 915168b..0000000 --- a/docs/README.md +++ /dev/null @@ -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 - -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. diff --git a/doxygen.css b/doxygen.css new file mode 100644 index 0000000..ffbff02 --- /dev/null +++ b/doxygen.css @@ -0,0 +1,1793 @@ +/* The standard CSS for doxygen 1.9.1 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +ul.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +th p.starttd, th p.intertd, th p.endtd { + font-size: 100%; + font-weight: 700; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +p.interli { +} + +p.interdd { +} + +p.intertd { +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.navtab { + border-right: 1px solid #A3B4D7; + padding-right: 15px; + text-align: right; + line-height: 110%; +} + +div.navtab table { + border-spacing: 0; +} + +td.navtab { + padding-right: 6px; + padding-left: 6px; +} +td.navtabHL { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL a, td.navtabHL a:visited { + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} + +a.navtab { + font-weight: bold; +} + +div.qindex{ + text-align: center; + width: 100%; + line-height: 140%; + font-size: 130%; + color: #A0A0A0; +} + +dt.alphachar{ + font-size: 180%; + font-weight: bold; +} + +.alphachar a{ + color: black; +} + +.alphachar a:hover, .alphachar a:visited{ + text-decoration: none; +} + +.classindex dl { + padding: 25px; + column-count:1 +} + +.classindex dd { + display:inline-block; + margin-left: 50px; + width: 90%; + line-height: 1.15em; +} + +.classindex dl.odd { + background-color: #F8F9FC; +} + +@media(min-width: 1120px) { + .classindex dl { + column-count:2 + } +} + +@media(min-width: 1320px) { + .classindex dl { + column-count:3 + } +} + + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +.contents a.qindexHL:visited { + color: #FFFFFF; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +ul { + overflow: hidden; /*Fixed: list item bullets overlap floating elements*/ +} + +#side-nav ul { + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ +} + +#main-nav ul { + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ +} + +.fragment { + text-align: left; + direction: ltr; + overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ + overflow-y: hidden; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #FFFFFF; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl, img.inline { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +blockquote.DocNodeRTL { + border-left: 0; + border-right: 2px solid #9CAFD4; + margin: 0 4px 0 24px; + padding: 0 16px 0 12px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight, .memTemplItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #E2E8F2; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #DFE5F1; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype, .tparams .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir, .tparams .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +.PageDocRTL-title div.headertitle { + text-align: right; + direction: rtl; +} + +dl { + padding: 0 0 0 0; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ +dl.section { + margin-left: 0px; + padding-left: 0px; +} + +dl.section.DocNodeRTL { + margin-right: 0px; + padding-right: 0px; +} + +dl.note { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #D0C000; +} + +dl.note.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #FF0000; +} + +dl.warning.DocNodeRTL, dl.attention.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00D000; +} + +dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00D000; +} + +dl.deprecated { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #505050; +} + +dl.deprecated.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #505050; +} + +dl.todo { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00C0E0; +} + +dl.todo.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00C0E0; +} + +dl.test { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #3030E0; +} + +dl.test.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #3030E0; +} + +dl.bug { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #C08050; +} + +dl.bug.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; + text-align:right; + width:52px; +} + +dl.citelist dd { + margin:2px 0 2px 72px; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +.PageDocRTL-title div.toc { + float: left !important; + text-align: right; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +.PageDocRTL-title div.toc li { + background-position-x: right !important; + padding-left: 0 !important; + padding-right: 10px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +span.emoji { + /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html + * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; + */ +} + +.PageDocRTL-title div.toc li.level1 { + margin-left: 0 !important; + margin-right: 0; +} + +.PageDocRTL-title div.toc li.level2 { + margin-left: 0 !important; + margin-right: 15px; +} + +.PageDocRTL-title div.toc li.level3 { + margin-left: 0 !important; + margin-right: 30px; +} + +.PageDocRTL-title div.toc li.level4 { + margin-left: 0 !important; + margin-right: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + +.DocNodeRTL { + text-align: right; + direction: rtl; +} + +.DocNodeLTR { + text-align: left; + direction: ltr; +} + +table.DocNodeRTL { + width: auto; + margin-right: 0; + margin-left: auto; +} + +table.DocNodeLTR { + width: auto; + margin-right: auto; + margin-left: 0; +} + +tt, code, kbd, samp +{ + display: inline-block; + direction:ltr; +} +/* @end */ + +u { + text-decoration: underline; +} + diff --git a/doxygen.svg b/doxygen.svg new file mode 100644 index 0000000..d42dad5 --- /dev/null +++ b/doxygen.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dynsections.js b/dynsections.js new file mode 100644 index 0000000..3174bd7 --- /dev/null +++ b/dynsections.js @@ -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 + + + + + + +MinIO C++ SDK: /home/bala/devel/github.com/minio/minio-cpp/include/error.h Source File + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
error.h
+
+
+
1 // MinIO C++ Library for Amazon S3 Compatible Cloud Storage
+
2 // Copyright 2022 MinIO, Inc.
+
3 //
+
4 // Licensed under the Apache License, Version 2.0 (the "License");
+
5 // you may not use this file except in compliance with the License.
+
6 // You may obtain a copy of the License at
+
7 //
+
8 // http://www.apache.org/licenses/LICENSE-2.0
+
9 //
+
10 // Unless required by applicable law or agreed to in writing, software
+
11 // distributed under the License is distributed on an "AS IS" BASIS,
+
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
13 // See the License for the specific language governing permissions and
+
14 // limitations under the License.
+
15 
+
16 #ifndef _MINIO_ERROR_H
+
17 #define _MINIO_ERROR_H
+
18 
+
19 #include <string>
+
20 
+
21 namespace minio {
+
22 namespace error {
+
23 class Error {
+
24  private:
+
25  std::string msg_;
+
26 
+
27  public:
+
28  Error() {}
+
29  Error(std::string_view msg) { msg_ = std::string(msg); }
+
30  std::string String() { return msg_; }
+
31  operator bool() const { return !msg_.empty(); }
+
32 }; // class Error
+
33 
+
34 const static Error SUCCESS;
+
35 } // namespace error
+
36 } // namespace minio
+
37 
+
38 #endif // #ifndef _MINIO_ERROR_H
+
Definition: error.h:23
+
+ + + + diff --git a/examples/BucketExists.cc b/examples/BucketExists.cc deleted file mode 100644 index be54bcd..0000000 --- a/examples/BucketExists.cc +++ /dev/null @@ -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; -} diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt deleted file mode 100644 index d8bf387..0000000 --- a/examples/CMakeLists.txt +++ /dev/null @@ -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}) diff --git a/examples/ComposeObject.cc b/examples/ComposeObject.cc deleted file mode 100644 index a86c7c5..0000000 --- a/examples/ComposeObject.cc +++ /dev/null @@ -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 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; -} diff --git a/examples/CopyObject.cc b/examples/CopyObject.cc deleted file mode 100644 index e001092..0000000 --- a/examples/CopyObject.cc +++ /dev/null @@ -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; -} diff --git a/examples/DownloadObject.cc b/examples/DownloadObject.cc deleted file mode 100644 index 49a5e75..0000000 --- a/examples/DownloadObject.cc +++ /dev/null @@ -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; -} diff --git a/examples/GetObject.cc b/examples/GetObject.cc deleted file mode 100644 index 6c6fd46..0000000 --- a/examples/GetObject.cc +++ /dev/null @@ -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; -} diff --git a/examples/ListBuckets.cc b/examples/ListBuckets.cc deleted file mode 100644 index 1aaa2ef..0000000 --- a/examples/ListBuckets.cc +++ /dev/null @@ -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; -} diff --git a/examples/ListObjects.cc b/examples/ListObjects.cc deleted file mode 100644 index 3f5d973..0000000 --- a/examples/ListObjects.cc +++ /dev/null @@ -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; -} diff --git a/examples/MakeBucket.cc b/examples/MakeBucket.cc deleted file mode 100644 index 2823a5f..0000000 --- a/examples/MakeBucket.cc +++ /dev/null @@ -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; -} diff --git a/examples/PutObject.cc b/examples/PutObject.cc deleted file mode 100644 index de1ef2b..0000000 --- a/examples/PutObject.cc +++ /dev/null @@ -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; -} diff --git a/examples/RemoveBucket.cc b/examples/RemoveBucket.cc deleted file mode 100644 index 5b8983a..0000000 --- a/examples/RemoveBucket.cc +++ /dev/null @@ -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; -} diff --git a/examples/RemoveObject.cc b/examples/RemoveObject.cc deleted file mode 100644 index c812236..0000000 --- a/examples/RemoveObject.cc +++ /dev/null @@ -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; -} diff --git a/examples/StatObject.cc b/examples/StatObject.cc deleted file mode 100644 index b51d3e4..0000000 --- a/examples/StatObject.cc +++ /dev/null @@ -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 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; -} diff --git a/examples/UploadObject.cc b/examples/UploadObject.cc deleted file mode 100644 index 31891cb..0000000 --- a/examples/UploadObject.cc +++ /dev/null @@ -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; -} diff --git a/files.html b/files.html new file mode 100644 index 0000000..651dee3 --- /dev/null +++ b/files.html @@ -0,0 +1,90 @@ + + + + + + + +MinIO C++ SDK: File List + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+
[detail level 12]
+ + + + + + + + + + + + +
  include
 args.h
 client.h
 creds.h
 error.h
 http.h
 request-builder.h
 response.h
 signer.h
 sse.h
 types.h
 utils.h
+
+
+ + + + diff --git a/folderclosed.png b/folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8ab35edce8e97554e360005ee9fc5bffb36e66 GIT binary patch literal 616 zcmV-u0+;=XP)a9#ETzayK)T~Jw&MMH>OIr#&;dC}is*2Mqdf&akCc=O@`qC+4i z5Iu3w#1M@KqXCz8TIZd1wli&kkl2HVcAiZ8PUn5z_kG@-y;?yK06=cA0U%H0PH+kU zl6dp}OR(|r8-RG+YLu`zbI}5TlOU6ToR41{9=uz^?dGTNL;wIMf|V3`d1Wj3y!#6` zBLZ?xpKR~^2x}?~zA(_NUu3IaDB$tKma*XUdOZN~c=dLt_h_k!dbxm_*ibDM zlFX`g{k$X}yIe%$N)cn1LNu=q9_CS)*>A zsX_mM4L@`(cSNQKMFc$RtYbx{79#j-J7hk*>*+ZZhM4Hw?I?rsXCi#mRWJ=-0LGV5a-WR0Qgt<|Nqf)C-@80`5gIz45^_20000IqP)X=#(TiCT&PiIIVc55T}TU}EUh*{q$|`3@{d>{Tc9Bo>e= zfmF3!f>fbI9#GoEHh0f`i5)wkLpva0ztf%HpZneK?w-7AK@b4Itw{y|Zd3k!fH?q2 zlhckHd_V2M_X7+)U&_Xcfvtw60l;--DgZmLSw-Y?S>)zIqMyJ1#FwLU*%bl38ok+! zh78H87n`ZTS;uhzAR$M`zZ`bVhq=+%u9^$5jDplgxd44}9;IRqUH1YHH|@6oFe%z( zo4)_>E$F&^P-f(#)>(TrnbE>Pefs9~@iN=|)Rz|V`sGfHNrJ)0gJb8xx+SBmRf@1l zvuzt=vGfI)<-F9!o&3l?>9~0QbUDT(wFdnQPv%xdD)m*g%!20>Bc9iYmGAp<9YAa( z0QgYgTWqf1qN++Gqp z8@AYPTB3E|6s=WLG?xw0tm|U!o=&zd+H0oRYE;Dbx+Na9s^STqX|Gnq%H8s(nGDGJ j8vwW|`Ts`)fSK|Kx=IK@RG@g200000NkvXXu0mjfauFEA literal 0 HcmV?d00001 diff --git a/hierarchy.html b/hierarchy.html new file mode 100644 index 0000000..4a3160a --- /dev/null +++ b/hierarchy.html @@ -0,0 +1,138 @@ + + + + + + + +MinIO C++ SDK: Class Hierarchy + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class Hierarchy
+
+
+
This inheritance list is sorted roughly, but not completely, alphabetically:
+
[detail level 1234567]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Cminio::s3::BaseArgs
 Cminio::s3::BucketArgs
 Cminio::s3::ListObjectsArgs
 Cminio::s3::ListObjectsCommonArgs
 Cminio::s3::ListObjectVersionsArgs
 Cminio::s3::ListObjectsV1Args
 Cminio::s3::ListObjectsV2Args
 Cminio::s3::MakeBucketArgs
 Cminio::s3::ObjectArgs
 Cminio::s3::AbortMultipartUploadArgs
 Cminio::s3::CompleteMultipartUploadArgs
 Cminio::s3::CreateMultipartUploadArgs
 Cminio::s3::ObjectVersionArgs
 Cminio::s3::ObjectReadArgs
 Cminio::s3::DownloadObjectArgs
 Cminio::s3::ObjectConditionalReadArgs
 Cminio::s3::ComposeSource
 Cminio::s3::GetObjectArgs
 Cminio::s3::ObjectWriteArgs
 Cminio::s3::ComposeObjectArgs
 Cminio::s3::CopyObjectArgs
 Cminio::s3::PutObjectBaseArgs
 Cminio::s3::PutObjectApiArgs
 Cminio::s3::PutObjectArgs
 Cminio::s3::UploadObjectArgs
 Cminio::s3::UploadPartArgs
 Cminio::s3::UploadPartCopyArgs
 Cminio::http::BaseUrl
 Cminio::s3::Bucket
 Cminio::s3::Client
 Cminio::creds::Credentials
 Cminio::http::DataCallbackArgs
 Cminio::error::Error
 Cminio::s3::ListObjectsResult
 Cminio::utils::Multimap
 Cminio::s3::Part
 Cminio::creds::Provider
 Cminio::creds::StaticProvider
 Cminio::http::Request
 Cminio::s3::RequestBuilder
 Cminio::http::Response
 Cminio::s3::Response
 Cminio::s3::BucketExistsResponse
 Cminio::s3::CompleteMultipartUploadResponse
 Cminio::s3::CreateMultipartUploadResponse
 Cminio::s3::GetRegionResponse
 Cminio::s3::Item
 Cminio::s3::ListBucketsResponse
 Cminio::s3::ListObjectsResponse
 Cminio::s3::PutObjectResponse
 Cminio::s3::StatObjectResponse
 Cminio::s3::Retention
 Cminio::s3::Sse
 Cminio::s3::SseCustomerKey
 Cminio::s3::SseKms
 Cminio::s3::SseS3
 Cstd::streambuf
 Cminio::utils::CharBuffer
 Cminio::utils::Time
 Cminio::utils::Url
+
+
+ + + + diff --git a/http_8h_source.html b/http_8h_source.html new file mode 100644 index 0000000..e10c6a8 --- /dev/null +++ b/http_8h_source.html @@ -0,0 +1,219 @@ + + + + + + + +MinIO C++ SDK: /home/bala/devel/github.com/minio/minio-cpp/include/http.h Source File + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
http.h
+
+
+
1 // MinIO C++ Library for Amazon S3 Compatible Cloud Storage
+
2 // Copyright 2022 MinIO, Inc.
+
3 //
+
4 // Licensed under the Apache License, Version 2.0 (the "License");
+
5 // you may not use this file except in compliance with the License.
+
6 // You may obtain a copy of the License at
+
7 //
+
8 // http://www.apache.org/licenses/LICENSE-2.0
+
9 //
+
10 // Unless required by applicable law or agreed to in writing, software
+
11 // distributed under the License is distributed on an "AS IS" BASIS,
+
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
13 // See the License for the specific language governing permissions and
+
14 // limitations under the License.
+
15 
+
16 #ifndef _MINIO_HTTP_H
+
17 #define _MINIO_HTTP_H
+
18 
+
19 #include <curlpp/Easy.hpp>
+
20 #include <curlpp/Options.hpp>
+
21 
+
22 #include "utils.h"
+
23 
+
24 namespace minio {
+
25 namespace http {
+
26 enum class Method { kGet, kHead, kPost, kPut, kDelete };
+
27 
+
28 // MethodToString converts http Method enum to string.
+
29 constexpr const char* MethodToString(Method& method) throw() {
+
30  switch (method) {
+
31  case Method::kGet:
+
32  return "GET";
+
33  case Method::kHead:
+
34  return "HEAD";
+
35  case Method::kPost:
+
36  return "POST";
+
37  case Method::kPut:
+
38  return "PUT";
+
39  case Method::kDelete:
+
40  return "DELETE";
+
41  default: {
+
42  std::cerr << "ABORT: Unimplemented HTTP method. This should not happen."
+
43  << std::endl;
+
44  std::terminate();
+
45  }
+
46  }
+
47  return NULL;
+
48 }
+
49 
+
50 // ExtractRegion extracts region value from AWS S3 host string.
+
51 std::string ExtractRegion(std::string host);
+
52 
+
53 struct BaseUrl {
+
54  std::string host;
+
55  bool is_https = true;
+
56  unsigned int port = 0;
+
57  std::string region;
+
58  bool aws_host = false;
+
59  bool accelerate_host = false;
+
60  bool dualstack_host = false;
+
61  bool virtual_style = false;
+
62 
+
63  error::Error SetHost(std::string hostvalue);
+
64  std::string GetHostHeaderValue();
+
65  error::Error BuildUrl(utils::Url& url, Method method, std::string region,
+
66  utils::Multimap query_params,
+
67  std::string bucket_name = "",
+
68  std::string object_name = "");
+
69  operator bool() const { return !host.empty(); }
+
70 }; // struct BaseUrl
+
71 
+
72 struct DataCallbackArgs;
+
73 
+
74 typedef size_t (*DataCallback)(DataCallbackArgs args);
+
75 
+
76 struct Response;
+
77 
+ +
79  curlpp::Easy* handle = NULL;
+
80  Response* response = NULL;
+
81  char* buffer = NULL;
+
82  size_t size = 0;
+
83  size_t length = 0;
+
84  void* user_arg = NULL;
+
85 }; // struct DataCallbackArgs
+
86 
+
87 struct Request {
+
88  Method method;
+
89  utils::Url url;
+
90  utils::Multimap headers;
+
91  std::string_view body = "";
+
92  DataCallback data_callback = NULL;
+
93  void* user_arg = NULL;
+
94  bool debug = false;
+
95  bool ignore_cert_check = false;
+
96 
+
97  Request(Method httpmethod, utils::Url httpurl);
+
98  Response Execute();
+
99  operator bool() const {
+
100  if (method < Method::kGet || method > Method::kDelete) return false;
+
101  return url;
+
102  }
+
103 
+
104  private:
+
105  Response execute();
+
106 }; // struct Request
+
107 
+
108 struct Response {
+
109  std::string error;
+
110  DataCallback data_callback = NULL;
+
111  void* user_arg = NULL;
+
112  int status_code = 0;
+
113  utils::Multimap headers;
+
114  std::string body;
+
115 
+
116  size_t ResponseCallback(curlpp::Easy* handle, char* buffer, size_t size,
+
117  size_t length);
+
118  operator bool() const {
+
119  return error.empty() && status_code >= 200 && status_code <= 299;
+
120  }
+
121 
+
122  private:
+
123  std::string response_;
+
124  bool continue100_ = false;
+
125  bool status_code_read_ = false;
+
126  bool headers_read_ = false;
+
127 
+
128  size_t ReadStatusCode(char* buffer, size_t size, size_t length);
+
129  size_t ReadHeaders(curlpp::Easy* handle, char* buffer, size_t size,
+
130  size_t length);
+
131 }; // struct Response
+
132 } // namespace http
+
133 } // namespace minio
+
134 #endif // #ifndef _MINIO_HTTP_H
+
Definition: error.h:23
+
Definition: utils.h:119
+
Definition: http.h:53
+
Definition: http.h:78
+
Definition: http.h:87
+
Definition: http.h:108
+
Definition: utils.h:144
+
+ + + + diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt deleted file mode 100644 index ad18354..0000000 --- a/include/CMakeLists.txt +++ /dev/null @@ -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) diff --git a/include/args.h b/include/args.h deleted file mode 100644 index c966f05..0000000 --- a/include/args.h +++ /dev/null @@ -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 - -#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 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 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 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 diff --git a/include/client.h b/include/client.h deleted file mode 100644 index 40bb64b..0000000 --- a/include/client.h +++ /dev/null @@ -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 - -#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 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 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::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 diff --git a/include/creds.h b/include/creds.h deleted file mode 100644 index db323cb..0000000 --- a/include/creds.h +++ /dev/null @@ -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 - -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 diff --git a/include/error.h b/include/error.h deleted file mode 100644 index 09e1030..0000000 --- a/include/error.h +++ /dev/null @@ -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 - -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 diff --git a/include/http.h b/include/http.h deleted file mode 100644 index a6fe110..0000000 --- a/include/http.h +++ /dev/null @@ -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 -#include - -#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 diff --git a/include/request-builder.h b/include/request-builder.h deleted file mode 100644 index ed2a39c..0000000 --- a/include/request-builder.h +++ /dev/null @@ -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 diff --git a/include/response.h b/include/response.h deleted file mode 100644 index 8b99ba7..0000000 --- a/include/response.h +++ /dev/null @@ -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 - -#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 buckets; - - ListBucketsResponse(std::list 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 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 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 diff --git a/include/signer.h b/include/signer.h deleted file mode 100644 index bfa9f04..0000000 --- a/include/signer.h +++ /dev/null @@ -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 - -#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 diff --git a/include/sse.h b/include/sse.h deleted file mode 100644 index 6f386b2..0000000 --- a/include/sse.h +++ /dev/null @@ -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 diff --git a/include/types.h b/include/types.h deleted file mode 100644 index 9c394b8..0000000 --- a/include/types.h +++ /dev/null @@ -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 - -#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 diff --git a/include/utils.h b/include/utils.h deleted file mode 100644 index dd5b0a0..0000000 --- a/include/utils.h +++ /dev/null @@ -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 -#include - -#include -#include -#include -#include -#include -#include - -#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 values, std::string delimiter); - -// Join returns a string of joined values by delimiter. -std::string Join(std::vector 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> map_; - std::map> keys_; - - public: - Multimap(); - Multimap(const Multimap& headers); - void Add(std::string key, std::string value); - void AddAll(const Multimap& headers); - std::list ToHttpHeaders(); - std::string ToQueryString(); - operator bool() const { return !map_.empty(); } - bool Contains(std::string_view key); - std::list Get(std::string_view key); - std::string GetFront(std::string_view key); - std::list 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 diff --git a/index.html b/index.html new file mode 100644 index 0000000..be47fd5 --- /dev/null +++ b/index.html @@ -0,0 +1,168 @@ + + + + + + + +MinIO C++ SDK: Main Page + + + + + + + + + +
+
+ + + + + + +
+
MinIO C++ SDK +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
MinIO C++ SDK Documentation
+
+
+

+

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

+

+Build requirements

+
    +
  • A working C++ development environment supporting C++17 standards.
  • +
  • CMake 3.10 or higher.
  • +
  • vcpkg.
  • +
+

+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, see LICENSE for more information.

+
+
+ + + + diff --git a/jquery.js b/jquery.js new file mode 100644 index 0000000..103c32d --- /dev/null +++ b/jquery.js @@ -0,0 +1,35 @@ +/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("
"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidtht.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element +},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/** + * Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler + * Licensed under MIT + * @author Ariel Flesler + * @version 2.1.2 + */ +;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 + * http://www.smartmenus.org/ + * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file diff --git a/menu.js b/menu.js new file mode 100644 index 0000000..2fe2214 --- /dev/null +++ b/menu.js @@ -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+=''; + } + 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('
  • '); + } else { + $('#main-menu').append('
  • '); + } + } + $('#main-menu').smartmenus(); +} +/* @license-end */ diff --git a/menudata.js b/menudata.js new file mode 100644 index 0000000..e4d9d70 --- /dev/null +++ b/menudata.js @@ -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"}]}]} diff --git a/miniocpp.pc.in b/miniocpp.pc.in deleted file mode 100644 index ef7d572..0000000 --- a/miniocpp.pc.in +++ /dev/null @@ -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} \ No newline at end of file diff --git a/nav_f.png b/nav_f.png new file mode 100644 index 0000000000000000000000000000000000000000..72a58a529ed3a9ed6aa0c51a79cf207e026deee2 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQVE_ejv*C{Z|{2ZH7M}7UYxc) zn!W8uqtnIQ>_z8U literal 0 HcmV?d00001 diff --git a/nav_g.png b/nav_g.png new file mode 100644 index 0000000000000000000000000000000000000000..2093a237a94f6c83e19ec6e5fd42f7ddabdafa81 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3HFm1ilyoDK$?Q$B+ufw|5PB85lU25BhtE tr?otc=hd~V+ws&_A@j8Fiv!KF$B+ufw|5=67#uj90@pIL wZ=Q8~_Ju`#59=RjDrmm`tMD@M=!-l18IR?&vFVdQ&MBb@0HFXL1|%O$WD@{VPM$7~Ar*{o?;hlAFyLXmaDC0y znK1_#cQqJWPES%4Uujug^TE?jMft$}Eq^WaR~)%f)vSNs&gek&x%A9X9sM + + + + + + +MinIO C++ SDK: /home/bala/devel/github.com/minio/minio-cpp/include/request-builder.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    request-builder.h
    +
    +
    +
    1 // MinIO C++ Library for Amazon S3 Compatible Cloud Storage
    +
    2 // Copyright 2022 MinIO, Inc.
    +
    3 //
    +
    4 // Licensed under the Apache License, Version 2.0 (the "License");
    +
    5 // you may not use this file except in compliance with the License.
    +
    6 // You may obtain a copy of the License at
    +
    7 //
    +
    8 // http://www.apache.org/licenses/LICENSE-2.0
    +
    9 //
    +
    10 // Unless required by applicable law or agreed to in writing, software
    +
    11 // distributed under the License is distributed on an "AS IS" BASIS,
    +
    12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +
    13 // See the License for the specific language governing permissions and
    +
    14 // limitations under the License.
    +
    15 
    +
    16 #ifndef _MINIO_REQUEST_BUILDER_H
    +
    17 #define _MINIO_REQUEST_BUILDER_H
    +
    18 
    +
    19 #include "creds.h"
    +
    20 #include "signer.h"
    +
    21 
    +
    22 namespace minio {
    +
    23 namespace s3 {
    + +
    25  http::Method method;
    +
    26  std::string region;
    +
    27  http::BaseUrl& base_url;
    +
    28 
    +
    29  std::string user_agent;
    +
    30 
    +
    31  utils::Multimap headers;
    +
    32  utils::Multimap query_params;
    +
    33 
    +
    34  std::string bucket_name;
    +
    35  std::string object_name;
    +
    36 
    +
    37  std::string_view body = "";
    +
    38 
    +
    39  http::DataCallback data_callback = NULL;
    +
    40  void* user_arg = NULL;
    +
    41 
    +
    42  std::string sha256;
    +
    43  utils::Time date;
    +
    44 
    +
    45  bool debug = false;
    +
    46  bool ignore_cert_check = false;
    +
    47 
    +
    48  RequestBuilder(http::Method httpmethod, std::string regionvalue,
    +
    49  http::BaseUrl& baseurl);
    +
    50  http::Request Build(creds::Provider* provider = NULL);
    +
    51 
    +
    52  private:
    +
    53  void BuildHeaders(utils::Url& url, creds::Provider* provider);
    +
    54 }; // struct RequestBuilder
    +
    55 } // namespace s3
    +
    56 } // namespace minio
    +
    57 #endif // #ifndef __MINIO_REQUEST_BUILDER_H
    +
    Definition: creds.h:47
    +
    Definition: utils.h:119
    +
    Definition: utils.h:97
    +
    Definition: http.h:53
    +
    Definition: http.h:87
    +
    Definition: request-builder.h:24
    +
    Definition: utils.h:144
    +
    + + + + diff --git a/response_8h_source.html b/response_8h_source.html new file mode 100644 index 0000000..61406b7 --- /dev/null +++ b/response_8h_source.html @@ -0,0 +1,289 @@ + + + + + + + +MinIO C++ SDK: /home/bala/devel/github.com/minio/minio-cpp/include/response.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    response.h
    +
    +
    +
    1 // MinIO C++ Library for Amazon S3 Compatible Cloud Storage
    +
    2 // Copyright 2022 MinIO, Inc.
    +
    3 //
    +
    4 // Licensed under the Apache License, Version 2.0 (the "License");
    +
    5 // you may not use this file except in compliance with the License.
    +
    6 // You may obtain a copy of the License at
    +
    7 //
    +
    8 // http://www.apache.org/licenses/LICENSE-2.0
    +
    9 //
    +
    10 // Unless required by applicable law or agreed to in writing, software
    +
    11 // distributed under the License is distributed on an "AS IS" BASIS,
    +
    12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +
    13 // See the License for the specific language governing permissions and
    +
    14 // limitations under the License.
    +
    15 
    +
    16 #ifndef _MINIO_S3_RESPONSE_H
    +
    17 #define _MINIO_S3_RESPONSE_H
    +
    18 
    +
    19 #include <pugixml.hpp>
    +
    20 
    +
    21 #include "types.h"
    +
    22 
    +
    23 namespace minio {
    +
    24 namespace s3 {
    +
    25 struct Response {
    +
    26  std::string error;
    +
    27 
    +
    28  int status_code = 0;
    +
    29  utils::Multimap headers;
    +
    30  std::string data;
    +
    31 
    +
    32  std::string code;
    +
    33  std::string message;
    +
    34  std::string resource;
    +
    35  std::string request_id;
    +
    36  std::string host_id;
    +
    37  std::string bucket_name;
    +
    38  std::string object_name;
    +
    39 
    +
    40  Response();
    + +
    42  Response(const Response& response);
    +
    43  operator bool() const {
    +
    44  return error.empty() && code.empty() && message.empty() &&
    +
    45  (status_code == 0 || status_code >= 200 && status_code <= 299);
    +
    46  }
    +
    47  std::string GetError();
    +
    48  static Response ParseXML(std::string_view data, int status_code,
    +
    49  utils::Multimap headers);
    +
    50 }; // struct Response
    +
    51 
    +
    52 struct GetRegionResponse : public Response {
    +
    53  std::string region;
    +
    54 
    +
    55  GetRegionResponse(std::string regionvalue);
    + +
    57  GetRegionResponse(const Response& response);
    +
    58 }; // struct GetRegionResponse
    +
    59 
    + +
    61 
    +
    62 struct ListBucketsResponse : public Response {
    +
    63  std::list<Bucket> buckets;
    +
    64 
    +
    65  ListBucketsResponse(std::list<Bucket> bucketlist);
    + +
    67  ListBucketsResponse(const Response& response);
    +
    68  static ListBucketsResponse ParseXML(std::string_view data);
    +
    69 }; // struct ListBucketsResponse
    +
    70 
    +
    71 struct BucketExistsResponse : public Response {
    +
    72  bool exist = false;
    +
    73 
    +
    74  BucketExistsResponse(bool existflag);
    + +
    76  BucketExistsResponse(const Response& response);
    +
    77 }; // struct BucketExistsResponse
    +
    78 
    + +
    80 
    + +
    82 
    + +
    84  std::string location;
    +
    85  std::string etag;
    +
    86  std::string version_id;
    +
    87 
    + + + +
    91  static CompleteMultipartUploadResponse ParseXML(std::string_view data,
    +
    92  std::string version_id);
    +
    93 }; // struct CompleteMultipartUploadResponse
    +
    94 
    + +
    96  std::string upload_id;
    +
    97 
    +
    98  CreateMultipartUploadResponse(std::string uploadid);
    + +
    100  CreateMultipartUploadResponse(const Response& response);
    +
    101 }; // struct CreateMultipartUploadResponse
    +
    102 
    +
    103 struct PutObjectResponse : public Response {
    +
    104  std::string etag;
    +
    105  std::string version_id;
    +
    106 
    + + +
    109  PutObjectResponse(const Response& response);
    +
    110 }; // struct PutObjectResponse
    +
    111 
    + +
    113 
    + +
    115 
    +
    116 struct StatObjectResponse : public Response {
    +
    117  std::string version_id;
    +
    118  std::string etag;
    +
    119  size_t size = 0;
    +
    120  utils::Time last_modified;
    +
    121  RetentionMode retention_mode;
    +
    122  utils::Time retention_retain_until_date;
    +
    123  LegalHold legal_hold;
    +
    124  bool delete_marker;
    +
    125  utils::Multimap user_metadata;
    +
    126 
    + + +
    129  StatObjectResponse(const Response& response);
    +
    130 }; // struct StatObjectResponse
    +
    131 
    + +
    133 
    + +
    135 
    + +
    137 
    +
    138 struct Item : public Response {
    +
    139  std::string etag; // except DeleteMarker
    +
    140  std::string name;
    +
    141  utils::Time last_modified;
    +
    142  std::string owner_id;
    +
    143  std::string owner_name;
    +
    144  size_t size = 0; // except DeleteMarker
    +
    145  std::string storage_class;
    +
    146  bool is_latest = false; // except ListObjects V1/V2
    +
    147  std::string version_id; // except ListObjects V1/V2
    +
    148  std::map<std::string, std::string> user_metadata;
    +
    149  bool is_prefix = false;
    +
    150  bool is_delete_marker = false;
    +
    151  std::string encoding_type;
    +
    152 
    +
    153  Item();
    +
    154  Item(error::Error err);
    +
    155  Item(const Response& response);
    +
    156 }; // struct Item
    +
    157 
    +
    158 struct ListObjectsResponse : public Response {
    +
    159  // Common
    +
    160  std::string name;
    +
    161  std::string encoding_type;
    +
    162  std::string prefix;
    +
    163  std::string delimiter;
    +
    164  bool is_truncated;
    +
    165  unsigned int max_keys;
    +
    166  std::list<Item> contents;
    +
    167 
    +
    168  // ListObjectsV1
    +
    169  std::string marker;
    +
    170  std::string next_marker;
    +
    171 
    +
    172  // ListObjectsV2
    +
    173  unsigned int key_count;
    +
    174  std::string start_after;
    +
    175  std::string continuation_token;
    +
    176  std::string next_continuation_token;
    +
    177 
    +
    178  // ListObjectVersions
    +
    179  std::string key_marker;
    +
    180  std::string next_key_marker;
    +
    181  std::string version_id_marker;
    +
    182  std::string next_version_id_marker;
    +
    183 
    + + +
    186  ListObjectsResponse(const Response& response);
    +
    187  static ListObjectsResponse ParseXML(std::string_view data, bool version);
    +
    188 }; // struct ListObjectsResponse
    +
    189 
    + +
    191 
    + +
    193 
    + +
    195 } // namespace s3
    +
    196 } // namespace minio
    +
    197 
    +
    198 #endif // #ifndef _MINIO_S3_RESPONSE_H
    +
    Definition: error.h:23
    +
    Definition: utils.h:119
    +
    Definition: utils.h:97
    +
    Definition: response.h:71
    + + +
    Definition: response.h:52
    +
    Definition: response.h:138
    +
    Definition: response.h:62
    +
    Definition: response.h:158
    +
    Definition: response.h:103
    +
    Definition: response.h:25
    +
    Definition: response.h:116
    +
    + + + + diff --git a/search/all_0.html b/search/all_0.html new file mode 100644 index 0000000..1ec5b2d --- /dev/null +++ b/search/all_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_0.js b/search/all_0.js new file mode 100644 index 0000000..891883d --- /dev/null +++ b/search/all_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['abortmultipartuploadargs_0',['AbortMultipartUploadArgs',['../structminio_1_1s3_1_1AbortMultipartUploadArgs.html',1,'minio::s3']]] +]; diff --git a/search/all_1.html b/search/all_1.html new file mode 100644 index 0000000..9f80e90 --- /dev/null +++ b/search/all_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_1.js b/search/all_1.js new file mode 100644 index 0000000..c5f3a35 --- /dev/null +++ b/search/all_1.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['baseargs_1',['BaseArgs',['../structminio_1_1s3_1_1BaseArgs.html',1,'minio::s3']]], + ['baseurl_2',['BaseUrl',['../structminio_1_1http_1_1BaseUrl.html',1,'minio::http']]], + ['bucket_3',['Bucket',['../structminio_1_1s3_1_1Bucket.html',1,'minio::s3']]], + ['bucketargs_4',['BucketArgs',['../structminio_1_1s3_1_1BucketArgs.html',1,'minio::s3']]], + ['bucketexistsresponse_5',['BucketExistsResponse',['../structminio_1_1s3_1_1BucketExistsResponse.html',1,'minio::s3']]] +]; diff --git a/search/all_2.html b/search/all_2.html new file mode 100644 index 0000000..02cfffc --- /dev/null +++ b/search/all_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_2.js b/search/all_2.js new file mode 100644 index 0000000..39c838e --- /dev/null +++ b/search/all_2.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['charbuffer_6',['CharBuffer',['../structminio_1_1utils_1_1CharBuffer.html',1,'minio::utils']]], + ['client_7',['Client',['../classminio_1_1s3_1_1Client.html',1,'minio::s3']]], + ['completemultipartuploadargs_8',['CompleteMultipartUploadArgs',['../structminio_1_1s3_1_1CompleteMultipartUploadArgs.html',1,'minio::s3']]], + ['completemultipartuploadresponse_9',['CompleteMultipartUploadResponse',['../structminio_1_1s3_1_1CompleteMultipartUploadResponse.html',1,'minio::s3']]], + ['composeobjectargs_10',['ComposeObjectArgs',['../structminio_1_1s3_1_1ComposeObjectArgs.html',1,'minio::s3']]], + ['composesource_11',['ComposeSource',['../structminio_1_1s3_1_1ComposeSource.html',1,'minio::s3']]], + ['copyobjectargs_12',['CopyObjectArgs',['../structminio_1_1s3_1_1CopyObjectArgs.html',1,'minio::s3']]], + ['createmultipartuploadargs_13',['CreateMultipartUploadArgs',['../structminio_1_1s3_1_1CreateMultipartUploadArgs.html',1,'minio::s3']]], + ['createmultipartuploadresponse_14',['CreateMultipartUploadResponse',['../structminio_1_1s3_1_1CreateMultipartUploadResponse.html',1,'minio::s3']]], + ['credentials_15',['Credentials',['../classminio_1_1creds_1_1Credentials.html',1,'minio::creds']]] +]; diff --git a/search/all_3.html b/search/all_3.html new file mode 100644 index 0000000..39767b8 --- /dev/null +++ b/search/all_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_3.js b/search/all_3.js new file mode 100644 index 0000000..6a6e309 --- /dev/null +++ b/search/all_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['datacallbackargs_16',['DataCallbackArgs',['../structminio_1_1http_1_1DataCallbackArgs.html',1,'minio::http']]], + ['downloadobjectargs_17',['DownloadObjectArgs',['../structminio_1_1s3_1_1DownloadObjectArgs.html',1,'minio::s3']]] +]; diff --git a/search/all_4.html b/search/all_4.html new file mode 100644 index 0000000..fc40463 --- /dev/null +++ b/search/all_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_4.js b/search/all_4.js new file mode 100644 index 0000000..3103625 --- /dev/null +++ b/search/all_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['error_18',['Error',['../classminio_1_1error_1_1Error.html',1,'minio::error']]] +]; diff --git a/search/all_5.html b/search/all_5.html new file mode 100644 index 0000000..9dd9344 --- /dev/null +++ b/search/all_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_5.js b/search/all_5.js new file mode 100644 index 0000000..893b3ac --- /dev/null +++ b/search/all_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['getobjectargs_19',['GetObjectArgs',['../structminio_1_1s3_1_1GetObjectArgs.html',1,'minio::s3']]], + ['getregionresponse_20',['GetRegionResponse',['../structminio_1_1s3_1_1GetRegionResponse.html',1,'minio::s3']]] +]; diff --git a/search/all_6.html b/search/all_6.html new file mode 100644 index 0000000..f1e516d --- /dev/null +++ b/search/all_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_6.js b/search/all_6.js new file mode 100644 index 0000000..e6a70cb --- /dev/null +++ b/search/all_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['item_21',['Item',['../structminio_1_1s3_1_1Item.html',1,'minio::s3']]] +]; diff --git a/search/all_7.html b/search/all_7.html new file mode 100644 index 0000000..8ddbf6c --- /dev/null +++ b/search/all_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_7.js b/search/all_7.js new file mode 100644 index 0000000..eb8d60c --- /dev/null +++ b/search/all_7.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['listbucketsresponse_22',['ListBucketsResponse',['../structminio_1_1s3_1_1ListBucketsResponse.html',1,'minio::s3']]], + ['listobjectsargs_23',['ListObjectsArgs',['../structminio_1_1s3_1_1ListObjectsArgs.html',1,'minio::s3']]], + ['listobjectscommonargs_24',['ListObjectsCommonArgs',['../structminio_1_1s3_1_1ListObjectsCommonArgs.html',1,'minio::s3']]], + ['listobjectsresponse_25',['ListObjectsResponse',['../structminio_1_1s3_1_1ListObjectsResponse.html',1,'minio::s3']]], + ['listobjectsresult_26',['ListObjectsResult',['../classminio_1_1s3_1_1ListObjectsResult.html',1,'minio::s3']]], + ['listobjectsv1args_27',['ListObjectsV1Args',['../structminio_1_1s3_1_1ListObjectsV1Args.html',1,'minio::s3']]], + ['listobjectsv2args_28',['ListObjectsV2Args',['../structminio_1_1s3_1_1ListObjectsV2Args.html',1,'minio::s3']]], + ['listobjectversionsargs_29',['ListObjectVersionsArgs',['../structminio_1_1s3_1_1ListObjectVersionsArgs.html',1,'minio::s3']]] +]; diff --git a/search/all_8.html b/search/all_8.html new file mode 100644 index 0000000..83c55ae --- /dev/null +++ b/search/all_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_8.js b/search/all_8.js new file mode 100644 index 0000000..259c9d1 --- /dev/null +++ b/search/all_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['makebucketargs_30',['MakeBucketArgs',['../structminio_1_1s3_1_1MakeBucketArgs.html',1,'minio::s3']]], + ['multimap_31',['Multimap',['../classminio_1_1utils_1_1Multimap.html',1,'minio::utils']]] +]; diff --git a/search/all_9.html b/search/all_9.html new file mode 100644 index 0000000..1e263c1 --- /dev/null +++ b/search/all_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_9.js b/search/all_9.js new file mode 100644 index 0000000..d6b8e0c --- /dev/null +++ b/search/all_9.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['objectargs_32',['ObjectArgs',['../structminio_1_1s3_1_1ObjectArgs.html',1,'minio::s3']]], + ['objectconditionalreadargs_33',['ObjectConditionalReadArgs',['../structminio_1_1s3_1_1ObjectConditionalReadArgs.html',1,'minio::s3']]], + ['objectreadargs_34',['ObjectReadArgs',['../structminio_1_1s3_1_1ObjectReadArgs.html',1,'minio::s3']]], + ['objectversionargs_35',['ObjectVersionArgs',['../structminio_1_1s3_1_1ObjectVersionArgs.html',1,'minio::s3']]], + ['objectwriteargs_36',['ObjectWriteArgs',['../structminio_1_1s3_1_1ObjectWriteArgs.html',1,'minio::s3']]] +]; diff --git a/search/all_a.html b/search/all_a.html new file mode 100644 index 0000000..3a6cac1 --- /dev/null +++ b/search/all_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_a.js b/search/all_a.js new file mode 100644 index 0000000..0989a6f --- /dev/null +++ b/search/all_a.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['part_37',['Part',['../structminio_1_1s3_1_1Part.html',1,'minio::s3']]], + ['provider_38',['Provider',['../classminio_1_1creds_1_1Provider.html',1,'minio::creds']]], + ['putobjectapiargs_39',['PutObjectApiArgs',['../structminio_1_1s3_1_1PutObjectApiArgs.html',1,'minio::s3']]], + ['putobjectargs_40',['PutObjectArgs',['../structminio_1_1s3_1_1PutObjectArgs.html',1,'minio::s3']]], + ['putobjectbaseargs_41',['PutObjectBaseArgs',['../structminio_1_1s3_1_1PutObjectBaseArgs.html',1,'minio::s3']]], + ['putobjectresponse_42',['PutObjectResponse',['../structminio_1_1s3_1_1PutObjectResponse.html',1,'minio::s3']]] +]; diff --git a/search/all_b.html b/search/all_b.html new file mode 100644 index 0000000..130deb4 --- /dev/null +++ b/search/all_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_b.js b/search/all_b.js new file mode 100644 index 0000000..f0b5425 --- /dev/null +++ b/search/all_b.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['request_43',['Request',['../structminio_1_1http_1_1Request.html',1,'minio::http']]], + ['requestbuilder_44',['RequestBuilder',['../structminio_1_1s3_1_1RequestBuilder.html',1,'minio::s3']]], + ['response_45',['Response',['../structminio_1_1http_1_1Response.html',1,'minio::http::Response'],['../structminio_1_1s3_1_1Response.html',1,'minio::s3::Response']]], + ['retention_46',['Retention',['../structminio_1_1s3_1_1Retention.html',1,'minio::s3']]] +]; diff --git a/search/all_c.html b/search/all_c.html new file mode 100644 index 0000000..3dd5af0 --- /dev/null +++ b/search/all_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_c.js b/search/all_c.js new file mode 100644 index 0000000..3fd6819 --- /dev/null +++ b/search/all_c.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['sse_47',['Sse',['../classminio_1_1s3_1_1Sse.html',1,'minio::s3']]], + ['ssecustomerkey_48',['SseCustomerKey',['../classminio_1_1s3_1_1SseCustomerKey.html',1,'minio::s3']]], + ['ssekms_49',['SseKms',['../classminio_1_1s3_1_1SseKms.html',1,'minio::s3']]], + ['sses3_50',['SseS3',['../classminio_1_1s3_1_1SseS3.html',1,'minio::s3']]], + ['staticprovider_51',['StaticProvider',['../classminio_1_1creds_1_1StaticProvider.html',1,'minio::creds']]], + ['statobjectresponse_52',['StatObjectResponse',['../structminio_1_1s3_1_1StatObjectResponse.html',1,'minio::s3']]] +]; diff --git a/search/all_d.html b/search/all_d.html new file mode 100644 index 0000000..af7f2f0 --- /dev/null +++ b/search/all_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_d.js b/search/all_d.js new file mode 100644 index 0000000..aa00332 --- /dev/null +++ b/search/all_d.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['time_53',['Time',['../classminio_1_1utils_1_1Time.html',1,'minio::utils']]] +]; diff --git a/search/all_e.html b/search/all_e.html new file mode 100644 index 0000000..e25df42 --- /dev/null +++ b/search/all_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_e.js b/search/all_e.js new file mode 100644 index 0000000..5daaeb8 --- /dev/null +++ b/search/all_e.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['uploadobjectargs_54',['UploadObjectArgs',['../structminio_1_1s3_1_1UploadObjectArgs.html',1,'minio::s3']]], + ['uploadpartargs_55',['UploadPartArgs',['../structminio_1_1s3_1_1UploadPartArgs.html',1,'minio::s3']]], + ['uploadpartcopyargs_56',['UploadPartCopyArgs',['../structminio_1_1s3_1_1UploadPartCopyArgs.html',1,'minio::s3']]], + ['url_57',['Url',['../structminio_1_1utils_1_1Url.html',1,'minio::utils']]] +]; diff --git a/search/classes_0.html b/search/classes_0.html new file mode 100644 index 0000000..af8159e --- /dev/null +++ b/search/classes_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_0.js b/search/classes_0.js new file mode 100644 index 0000000..dc2ae24 --- /dev/null +++ b/search/classes_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['abortmultipartuploadargs_58',['AbortMultipartUploadArgs',['../structminio_1_1s3_1_1AbortMultipartUploadArgs.html',1,'minio::s3']]] +]; diff --git a/search/classes_1.html b/search/classes_1.html new file mode 100644 index 0000000..576e916 --- /dev/null +++ b/search/classes_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_1.js b/search/classes_1.js new file mode 100644 index 0000000..7e7a3f1 --- /dev/null +++ b/search/classes_1.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['baseargs_59',['BaseArgs',['../structminio_1_1s3_1_1BaseArgs.html',1,'minio::s3']]], + ['baseurl_60',['BaseUrl',['../structminio_1_1http_1_1BaseUrl.html',1,'minio::http']]], + ['bucket_61',['Bucket',['../structminio_1_1s3_1_1Bucket.html',1,'minio::s3']]], + ['bucketargs_62',['BucketArgs',['../structminio_1_1s3_1_1BucketArgs.html',1,'minio::s3']]], + ['bucketexistsresponse_63',['BucketExistsResponse',['../structminio_1_1s3_1_1BucketExistsResponse.html',1,'minio::s3']]] +]; diff --git a/search/classes_2.html b/search/classes_2.html new file mode 100644 index 0000000..956405e --- /dev/null +++ b/search/classes_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_2.js b/search/classes_2.js new file mode 100644 index 0000000..1cb8b29 --- /dev/null +++ b/search/classes_2.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['charbuffer_64',['CharBuffer',['../structminio_1_1utils_1_1CharBuffer.html',1,'minio::utils']]], + ['client_65',['Client',['../classminio_1_1s3_1_1Client.html',1,'minio::s3']]], + ['completemultipartuploadargs_66',['CompleteMultipartUploadArgs',['../structminio_1_1s3_1_1CompleteMultipartUploadArgs.html',1,'minio::s3']]], + ['completemultipartuploadresponse_67',['CompleteMultipartUploadResponse',['../structminio_1_1s3_1_1CompleteMultipartUploadResponse.html',1,'minio::s3']]], + ['composeobjectargs_68',['ComposeObjectArgs',['../structminio_1_1s3_1_1ComposeObjectArgs.html',1,'minio::s3']]], + ['composesource_69',['ComposeSource',['../structminio_1_1s3_1_1ComposeSource.html',1,'minio::s3']]], + ['copyobjectargs_70',['CopyObjectArgs',['../structminio_1_1s3_1_1CopyObjectArgs.html',1,'minio::s3']]], + ['createmultipartuploadargs_71',['CreateMultipartUploadArgs',['../structminio_1_1s3_1_1CreateMultipartUploadArgs.html',1,'minio::s3']]], + ['createmultipartuploadresponse_72',['CreateMultipartUploadResponse',['../structminio_1_1s3_1_1CreateMultipartUploadResponse.html',1,'minio::s3']]], + ['credentials_73',['Credentials',['../classminio_1_1creds_1_1Credentials.html',1,'minio::creds']]] +]; diff --git a/search/classes_3.html b/search/classes_3.html new file mode 100644 index 0000000..d33343b --- /dev/null +++ b/search/classes_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_3.js b/search/classes_3.js new file mode 100644 index 0000000..a153e2d --- /dev/null +++ b/search/classes_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['datacallbackargs_74',['DataCallbackArgs',['../structminio_1_1http_1_1DataCallbackArgs.html',1,'minio::http']]], + ['downloadobjectargs_75',['DownloadObjectArgs',['../structminio_1_1s3_1_1DownloadObjectArgs.html',1,'minio::s3']]] +]; diff --git a/search/classes_4.html b/search/classes_4.html new file mode 100644 index 0000000..8430b07 --- /dev/null +++ b/search/classes_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_4.js b/search/classes_4.js new file mode 100644 index 0000000..7cfa54a --- /dev/null +++ b/search/classes_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['error_76',['Error',['../classminio_1_1error_1_1Error.html',1,'minio::error']]] +]; diff --git a/search/classes_5.html b/search/classes_5.html new file mode 100644 index 0000000..c2f1b76 --- /dev/null +++ b/search/classes_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_5.js b/search/classes_5.js new file mode 100644 index 0000000..0a0c044 --- /dev/null +++ b/search/classes_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['getobjectargs_77',['GetObjectArgs',['../structminio_1_1s3_1_1GetObjectArgs.html',1,'minio::s3']]], + ['getregionresponse_78',['GetRegionResponse',['../structminio_1_1s3_1_1GetRegionResponse.html',1,'minio::s3']]] +]; diff --git a/search/classes_6.html b/search/classes_6.html new file mode 100644 index 0000000..e39847c --- /dev/null +++ b/search/classes_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_6.js b/search/classes_6.js new file mode 100644 index 0000000..cb4c3b1 --- /dev/null +++ b/search/classes_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['item_79',['Item',['../structminio_1_1s3_1_1Item.html',1,'minio::s3']]] +]; diff --git a/search/classes_7.html b/search/classes_7.html new file mode 100644 index 0000000..a2c4d1a --- /dev/null +++ b/search/classes_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_7.js b/search/classes_7.js new file mode 100644 index 0000000..4853aef --- /dev/null +++ b/search/classes_7.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['listbucketsresponse_80',['ListBucketsResponse',['../structminio_1_1s3_1_1ListBucketsResponse.html',1,'minio::s3']]], + ['listobjectsargs_81',['ListObjectsArgs',['../structminio_1_1s3_1_1ListObjectsArgs.html',1,'minio::s3']]], + ['listobjectscommonargs_82',['ListObjectsCommonArgs',['../structminio_1_1s3_1_1ListObjectsCommonArgs.html',1,'minio::s3']]], + ['listobjectsresponse_83',['ListObjectsResponse',['../structminio_1_1s3_1_1ListObjectsResponse.html',1,'minio::s3']]], + ['listobjectsresult_84',['ListObjectsResult',['../classminio_1_1s3_1_1ListObjectsResult.html',1,'minio::s3']]], + ['listobjectsv1args_85',['ListObjectsV1Args',['../structminio_1_1s3_1_1ListObjectsV1Args.html',1,'minio::s3']]], + ['listobjectsv2args_86',['ListObjectsV2Args',['../structminio_1_1s3_1_1ListObjectsV2Args.html',1,'minio::s3']]], + ['listobjectversionsargs_87',['ListObjectVersionsArgs',['../structminio_1_1s3_1_1ListObjectVersionsArgs.html',1,'minio::s3']]] +]; diff --git a/search/classes_8.html b/search/classes_8.html new file mode 100644 index 0000000..17003e4 --- /dev/null +++ b/search/classes_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_8.js b/search/classes_8.js new file mode 100644 index 0000000..81db6ab --- /dev/null +++ b/search/classes_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['makebucketargs_88',['MakeBucketArgs',['../structminio_1_1s3_1_1MakeBucketArgs.html',1,'minio::s3']]], + ['multimap_89',['Multimap',['../classminio_1_1utils_1_1Multimap.html',1,'minio::utils']]] +]; diff --git a/search/classes_9.html b/search/classes_9.html new file mode 100644 index 0000000..b8afa8c --- /dev/null +++ b/search/classes_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_9.js b/search/classes_9.js new file mode 100644 index 0000000..19865f6 --- /dev/null +++ b/search/classes_9.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['objectargs_90',['ObjectArgs',['../structminio_1_1s3_1_1ObjectArgs.html',1,'minio::s3']]], + ['objectconditionalreadargs_91',['ObjectConditionalReadArgs',['../structminio_1_1s3_1_1ObjectConditionalReadArgs.html',1,'minio::s3']]], + ['objectreadargs_92',['ObjectReadArgs',['../structminio_1_1s3_1_1ObjectReadArgs.html',1,'minio::s3']]], + ['objectversionargs_93',['ObjectVersionArgs',['../structminio_1_1s3_1_1ObjectVersionArgs.html',1,'minio::s3']]], + ['objectwriteargs_94',['ObjectWriteArgs',['../structminio_1_1s3_1_1ObjectWriteArgs.html',1,'minio::s3']]] +]; diff --git a/search/classes_a.html b/search/classes_a.html new file mode 100644 index 0000000..6788af2 --- /dev/null +++ b/search/classes_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_a.js b/search/classes_a.js new file mode 100644 index 0000000..7f2d1cd --- /dev/null +++ b/search/classes_a.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['part_95',['Part',['../structminio_1_1s3_1_1Part.html',1,'minio::s3']]], + ['provider_96',['Provider',['../classminio_1_1creds_1_1Provider.html',1,'minio::creds']]], + ['putobjectapiargs_97',['PutObjectApiArgs',['../structminio_1_1s3_1_1PutObjectApiArgs.html',1,'minio::s3']]], + ['putobjectargs_98',['PutObjectArgs',['../structminio_1_1s3_1_1PutObjectArgs.html',1,'minio::s3']]], + ['putobjectbaseargs_99',['PutObjectBaseArgs',['../structminio_1_1s3_1_1PutObjectBaseArgs.html',1,'minio::s3']]], + ['putobjectresponse_100',['PutObjectResponse',['../structminio_1_1s3_1_1PutObjectResponse.html',1,'minio::s3']]] +]; diff --git a/search/classes_b.html b/search/classes_b.html new file mode 100644 index 0000000..3fcb498 --- /dev/null +++ b/search/classes_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_b.js b/search/classes_b.js new file mode 100644 index 0000000..87d8988 --- /dev/null +++ b/search/classes_b.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['request_101',['Request',['../structminio_1_1http_1_1Request.html',1,'minio::http']]], + ['requestbuilder_102',['RequestBuilder',['../structminio_1_1s3_1_1RequestBuilder.html',1,'minio::s3']]], + ['response_103',['Response',['../structminio_1_1http_1_1Response.html',1,'minio::http::Response'],['../structminio_1_1s3_1_1Response.html',1,'minio::s3::Response']]], + ['retention_104',['Retention',['../structminio_1_1s3_1_1Retention.html',1,'minio::s3']]] +]; diff --git a/search/classes_c.html b/search/classes_c.html new file mode 100644 index 0000000..2f7b1f3 --- /dev/null +++ b/search/classes_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_c.js b/search/classes_c.js new file mode 100644 index 0000000..2764285 --- /dev/null +++ b/search/classes_c.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['sse_105',['Sse',['../classminio_1_1s3_1_1Sse.html',1,'minio::s3']]], + ['ssecustomerkey_106',['SseCustomerKey',['../classminio_1_1s3_1_1SseCustomerKey.html',1,'minio::s3']]], + ['ssekms_107',['SseKms',['../classminio_1_1s3_1_1SseKms.html',1,'minio::s3']]], + ['sses3_108',['SseS3',['../classminio_1_1s3_1_1SseS3.html',1,'minio::s3']]], + ['staticprovider_109',['StaticProvider',['../classminio_1_1creds_1_1StaticProvider.html',1,'minio::creds']]], + ['statobjectresponse_110',['StatObjectResponse',['../structminio_1_1s3_1_1StatObjectResponse.html',1,'minio::s3']]] +]; diff --git a/search/classes_d.html b/search/classes_d.html new file mode 100644 index 0000000..f9011e7 --- /dev/null +++ b/search/classes_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_d.js b/search/classes_d.js new file mode 100644 index 0000000..f791c37 --- /dev/null +++ b/search/classes_d.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['time_111',['Time',['../classminio_1_1utils_1_1Time.html',1,'minio::utils']]] +]; diff --git a/search/classes_e.html b/search/classes_e.html new file mode 100644 index 0000000..bb33dcf --- /dev/null +++ b/search/classes_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_e.js b/search/classes_e.js new file mode 100644 index 0000000..a79b5e0 --- /dev/null +++ b/search/classes_e.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['uploadobjectargs_112',['UploadObjectArgs',['../structminio_1_1s3_1_1UploadObjectArgs.html',1,'minio::s3']]], + ['uploadpartargs_113',['UploadPartArgs',['../structminio_1_1s3_1_1UploadPartArgs.html',1,'minio::s3']]], + ['uploadpartcopyargs_114',['UploadPartCopyArgs',['../structminio_1_1s3_1_1UploadPartCopyArgs.html',1,'minio::s3']]], + ['url_115',['Url',['../structminio_1_1utils_1_1Url.html',1,'minio::utils']]] +]; diff --git a/search/close.svg b/search/close.svg new file mode 100644 index 0000000..a933eea --- /dev/null +++ b/search/close.svg @@ -0,0 +1,31 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/search/mag_sel.svg b/search/mag_sel.svg new file mode 100644 index 0000000..03626f6 --- /dev/null +++ b/search/mag_sel.svg @@ -0,0 +1,74 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/search/nomatches.html b/search/nomatches.html new file mode 100644 index 0000000..2b9360b --- /dev/null +++ b/search/nomatches.html @@ -0,0 +1,13 @@ + + + + + + + + +
    +
    No Matches
    +
    + + diff --git a/search/search.css b/search/search.css new file mode 100644 index 0000000..9074198 --- /dev/null +++ b/search/search.css @@ -0,0 +1,257 @@ +/*---------------- Search Box */ + +#MSearchBox { + white-space : nowrap; + background: white; + border-radius: 0.65em; + box-shadow: inset 0.5px 0.5px 3px 0px #555; + z-index: 102; +} + +#MSearchBox .left { + display: inline-block; + vertical-align: middle; + height: 1.4em; +} + +#MSearchSelect { + display: inline-block; + vertical-align: middle; + height: 1.4em; + padding: 0 0 0 0.3em; + margin: 0; +} + +#MSearchField { + display: inline-block; + vertical-align: middle; + width: 7.5em; + height: 1.1em; + margin: 0 0.15em; + padding: 0; + line-height: 1em; + border:none; + color: #909090; + outline: none; + font-family: Arial, Verdana, sans-serif; + -webkit-border-radius: 0px; + border-radius: 0px; + background: none; +} + + +#MSearchBox .right { + display: inline-block; + vertical-align: middle; + width: 1.4em; + height: 1.4em; +} + +#MSearchClose { + display: none; + font-size: inherit; + background : none; + border: none; + margin: 0; + padding: 0; + outline: none; + +} + +#MSearchCloseImg { + height: 1.4em; + padding: 0.3em; + margin: 0; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +#main-menu > li:last-child { + /* This
  • object is the parent of the search bar */ + display: flex; + justify-content: center; + align-items: center; + height: 36px; + margin-right: 1em; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; + z-index:10000; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; + font-family: Arial, Verdana, sans-serif; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; + font-family: Arial, Verdana, sans-serif; +} + +.SRResult { + display: none; +} + +div.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/search/search.js b/search/search.js new file mode 100644 index 0000000..fb226f7 --- /dev/null +++ b/search/search.js @@ -0,0 +1,816 @@ +/* + @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 convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + this.extension; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches' + this.extension; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline-block'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; e(R!W8j_r#qQ#gnr4kAxdU#F0+OBry$Z+ z_0PMi;P|#{d%mw(dnw=jM%@$onTJa%@6Nm3`;2S#nwtVFJI#`U@2Q@@JCCctagvF- z8H=anvo~dTmJ2YA%wA6IHRv%{vxvUm|R)kgZeo zmX%Zb;mpflGZdXCTAgit`||AFzkI#z&(3d4(htA?U2FOL4WF6wY&TB#n3n*I4+hl| z*NBpo#FA92vEu822WQ%mvv4FO#qs` BFGc_W literal 0 HcmV?d00001 diff --git a/search/search_r.png b/search/search_r.png new file mode 100644 index 0000000000000000000000000000000000000000..1af5d21ee13e070d7600f1c4657fde843b953a69 GIT binary patch literal 553 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9c!2%@BXHTsJQY`6?zK#qG8~eHcB(ehe3dtTp zz6=bxGZ+|(`xqD=STHa&U1eaXVrO7DwS|Gf*oA>XrmV$GYcEhOQT(QLuS{~ooZ2P@v=Xc@RKW@Irliv8_;wroU0*)0O?temdsA~70jrdux+`@W7 z-N(<(C)L?hOO?KV{>8(jC{hpKsws)#Fh zvsO>IB+gb@b+rGWaO&!a9Z{!U+fV*s7TS>fdt&j$L%^U@Epd$~Nl7e8wMs5Z1yT$~ z28I^8hDN#u<{^fLRz?<9hUVG^237_Jy7tbuQ8eV{r(~v8;?@w8^gA7>fx*+&&t;uc GLK6VEQpiUD literal 0 HcmV?d00001 diff --git a/search/searchdata.js b/search/searchdata.js new file mode 100644 index 0000000..4b3a876 --- /dev/null +++ b/search/searchdata.js @@ -0,0 +1,18 @@ +var indexSectionsWithContent = +{ + 0: "abcdegilmoprstu", + 1: "abcdegilmoprstu" +}; + +var indexSectionNames = +{ + 0: "all", + 1: "classes" +}; + +var indexSectionLabels = +{ + 0: "All", + 1: "Classes" +}; + diff --git a/signer_8h_source.html b/signer_8h_source.html new file mode 100644 index 0000000..a86739a --- /dev/null +++ b/signer_8h_source.html @@ -0,0 +1,143 @@ + + + + + + + +MinIO C++ SDK: /home/bala/devel/github.com/minio/minio-cpp/include/signer.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    signer.h
    +
    +
    +
    1 // MinIO C++ Library for Amazon S3 Compatible Cloud Storage
    +
    2 // Copyright 2022 MinIO, Inc.
    +
    3 //
    +
    4 // Licensed under the Apache License, Version 2.0 (the "License");
    +
    5 // you may not use this file except in compliance with the License.
    +
    6 // You may obtain a copy of the License at
    +
    7 //
    +
    8 // http://www.apache.org/licenses/LICENSE-2.0
    +
    9 //
    +
    10 // Unless required by applicable law or agreed to in writing, software
    +
    11 // distributed under the License is distributed on an "AS IS" BASIS,
    +
    12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +
    13 // See the License for the specific language governing permissions and
    +
    14 // limitations under the License.
    +
    15 
    +
    16 #ifndef _MINIO_SIGNER_H
    +
    17 #define _MINIO_SIGNER_H
    +
    18 
    +
    19 #include <openssl/hmac.h>
    +
    20 
    +
    21 #include "http.h"
    +
    22 
    +
    23 namespace minio {
    +
    24 namespace signer {
    +
    25 std::string GetScope(utils::Time& time, std::string_view region,
    +
    26  std::string_view service_name);
    +
    27 std::string GetCanonicalRequestHash(std::string_view method,
    +
    28  std::string_view uri,
    +
    29  std::string_view query_string,
    +
    30  std::string_view headers,
    +
    31  std::string_view signed_headers,
    +
    32  std::string_view content_sha256);
    +
    33 std::string GetStringToSign(utils::Time& date, std::string_view scope,
    +
    34  std::string_view canonical_request_hash);
    +
    35 std::string HmacHash(std::string_view key, std::string_view data);
    +
    36 std::string GetSigningKey(std::string_view secret_key, utils::Time& date,
    +
    37  std::string_view region,
    +
    38  std::string_view service_name);
    +
    39 std::string GetSignature(std::string_view signing_key,
    +
    40  std::string_view string_to_sign);
    +
    41 std::string GetAuthorization(std::string_view access_key,
    +
    42  std::string_view scope,
    +
    43  std::string_view signed_headers,
    +
    44  std::string_view signature);
    +
    45 utils::Multimap& SignV4(std::string_view service_name, http::Method& method,
    +
    46  std::string_view uri, std::string_view region,
    +
    47  utils::Multimap& headers, utils::Multimap& query_params,
    +
    48  std::string_view access_key,
    +
    49  std::string_view secret_key,
    +
    50  std::string_view content_sha256, utils::Time& date);
    +
    51 utils::Multimap& SignV4S3(http::Method& method, std::string_view uri,
    +
    52  std::string_view region, utils::Multimap& headers,
    +
    53  utils::Multimap& query_params,
    +
    54  std::string_view access_key,
    +
    55  std::string_view secret_key,
    +
    56  std::string_view content_sha256, utils::Time& date);
    +
    57 utils::Multimap& SignV4STS(http::Method& method, std::string_view uri,
    +
    58  std::string_view region, utils::Multimap& headers,
    +
    59  utils::Multimap& query_params,
    +
    60  std::string_view access_key,
    +
    61  std::string_view secret_key,
    +
    62  std::string_view content_sha256, utils::Time& date);
    +
    63 } // namespace signer
    +
    64 } // namespace minio
    +
    65 #endif // #ifndef __MINIO_SIGNER_H
    +
    + + + + diff --git a/splitbar.png b/splitbar.png new file mode 100644 index 0000000000000000000000000000000000000000..fe895f2c58179b471a22d8320b39a4bd7312ec8e GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf(#6djGiuzAr*{o?=JLmPLyc> z_*`QK&+BH@jWrYJ7>r6%keRM@)Qyv8R=enp0jiI>aWlGyB58O zFVR20d+y`K7vDw(hJF3;>dD*3-?v=<8M)@x|EEGLnJsniYK!2U1 Y!`|5biEc?d1`HDhPgg&ebxsLQ02F6;9RL6T literal 0 HcmV?d00001 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt deleted file mode 100644 index 640f276..0000000 --- a/src/CMakeLists.txt +++ /dev/null @@ -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. - -SET(SRCS args.cc client.cc creds.cc http.cc response.cc signer.cc sse.cc types.cc utils.cc request-builder.cc) -SET(S3CLIENT_INSTALL_LIST) - -add_library(miniocpp STATIC ${SRCS}) -target_link_libraries(miniocpp ${requiredlibs}) - -SET(S3CLIENT_INSTALL_LIST ${S3CLIENT_INSTALL_LIST} miniocpp) - -SET_TARGET_PROPERTIES(miniocpp PROPERTIES VERSION ${MINIOCPP_MAJOR_VERSION}.${MINIOCPP_MINOR_VERSION}.${MINIOCPP_PATCH_VERSION}) -SET_TARGET_PROPERTIES(miniocpp PROPERTIES CLEAN_DIRECT_OUTPUT 1) - -# install the library -INSTALL(TARGETS ${S3CLIENT_INSTALL_LIST} - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib -) diff --git a/src/args.cc b/src/args.cc deleted file mode 100644 index 801c9d1..0000000 --- a/src/args.cc +++ /dev/null @@ -1,363 +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 "args.h" - -minio::error::Error minio::s3::BucketArgs::Validate() { - return utils::CheckBucketName(bucket); -} - -minio::error::Error minio::s3::ObjectArgs::Validate() { - if (error::Error err = BucketArgs::Validate()) return err; - if (!utils::CheckNonEmptyString(object)) { - return error::Error("object name cannot be empty"); - } - - return error::SUCCESS; -} - -minio::utils::Multimap minio::s3::ObjectWriteArgs::Headers() { - utils::Multimap headers; - headers.AddAll(extra_headers); - headers.AddAll(headers); - headers.AddAll(user_metadata); - - if (sse != NULL) headers.AddAll(sse->Headers()); - - std::string tagging; - for (auto& [key, value] : tags) { - std::string tag = curlpp::escape(key) + "=" + curlpp::escape(value); - if (!tagging.empty()) tagging += "&"; - tagging += tag; - } - if (!tagging.empty()) headers.Add("x-amz-tagging", tagging); - - if (retention != NULL) { - headers.Add("x-amz-object-lock-mode", - RetentionModeToString(retention->mode)); - headers.Add("x-amz-object-lock-retain-until-date", - retention->retain_until_date.ToISO8601UTC()); - } - - if (legal_hold) headers.Add("x-amz-object-lock-legal-hold", "ON"); - - return headers; -} - -minio::utils::Multimap minio::s3::ObjectConditionalReadArgs::Headers() { - size_t* off = offset; - size_t* len = length; - - size_t zero = 0; - if (len != NULL && off == NULL) { - off = &zero; - } - - std::string range; - if (off != NULL) { - range = std::string("bytes=") + std::to_string(*off) + "-"; - if (len != NULL) { - range += std::to_string(*off + *len - 1); - } - } - - utils::Multimap headers; - if (!range.empty()) headers.Add("Range", range); - if (!match_etag.empty()) headers.Add("if-match", match_etag); - if (!not_match_etag.empty()) headers.Add("if-none-match", not_match_etag); - if (modified_since) { - headers.Add("if-modified-since", modified_since.ToHttpHeaderValue()); - } - if (unmodified_since) { - headers.Add("if-unmodified-since", unmodified_since.ToHttpHeaderValue()); - } - if (ssec != NULL) headers.AddAll(ssec->Headers()); - - return headers; -} - -minio::utils::Multimap minio::s3::ObjectConditionalReadArgs::CopyHeaders() { - utils::Multimap headers; - - std::string copy_source = curlpp::escape("/" + bucket + "/" + object); - if (!version_id.empty()) { - copy_source += "?versionId=" + curlpp::escape(version_id); - } - - headers.Add("x-amz-copy-source", copy_source); - - if (ssec != NULL) headers.AddAll(ssec->CopyHeaders()); - if (!match_etag.empty()) { - headers.Add("x-amz-copy-source-if-match", match_etag); - } - if (!not_match_etag.empty()) { - headers.Add("x-amz-copy-source-if-none-match", not_match_etag); - } - if (modified_since) { - headers.Add("x-amz-copy-source-if-modified-since", - modified_since.ToHttpHeaderValue()); - } - if (unmodified_since) { - headers.Add("x-amz-copy-source-if-unmodified-since", - unmodified_since.ToHttpHeaderValue()); - } - - return headers; -} - -minio::error::Error minio::s3::MakeBucketArgs::Validate() { - return utils::CheckBucketName(bucket, true); -} - -minio::error::Error minio::s3::AbortMultipartUploadArgs::Validate() { - if (error::Error err = ObjectArgs::Validate()) return err; - if (!utils::CheckNonEmptyString(upload_id)) { - return error::Error("upload ID cannot be empty"); - } - - return error::SUCCESS; -} - -minio::error::Error minio::s3::CompleteMultipartUploadArgs::Validate() { - if (error::Error err = ObjectArgs::Validate()) return err; - if (!utils::CheckNonEmptyString(upload_id)) { - return error::Error("upload ID cannot be empty"); - } - - return error::SUCCESS; -} - -minio::error::Error minio::s3::UploadPartArgs::Validate() { - if (error::Error err = ObjectArgs::Validate()) return err; - if (!utils::CheckNonEmptyString(upload_id)) { - return error::Error("upload ID cannot be empty"); - } - if (part_number < 1 || part_number > 10000) { - return error::Error("part number must be between 1 and 10000"); - } - - return error::SUCCESS; -} - -minio::error::Error minio::s3::UploadPartCopyArgs::Validate() { - if (error::Error err = ObjectArgs::Validate()) return err; - if (!utils::CheckNonEmptyString(upload_id)) { - return error::Error("upload ID cannot be empty"); - } - if (part_number < 1 || part_number > 10000) { - return error::Error("part number must be between 1 and 10000"); - } - - return error::SUCCESS; -} - -minio::error::Error minio::s3::DownloadObjectArgs::Validate() { - if (error::Error err = ObjectReadArgs::Validate()) return err; - if (!utils::CheckNonEmptyString(filename)) { - return error::Error("filename cannot be empty"); - } - - if (!overwrite && std::filesystem::exists(filename)) { - return error::Error("file " + filename + " already exists"); - } - - return error::SUCCESS; -} - -minio::error::Error minio::s3::GetObjectArgs::Validate() { - if (error::Error err = ObjectConditionalReadArgs::Validate()) return err; - if (data_callback == NULL) { - return error::Error("data callback must be set"); - } - - return error::SUCCESS; -} - -minio::s3::ListObjectsV1Args::ListObjectsV1Args() {} - -minio::s3::ListObjectsV1Args::ListObjectsV1Args(ListObjectsArgs args) { - extra_headers = args.extra_headers; - extra_query_params = args.extra_query_params; - bucket = args.bucket; - region = args.region; - - delimiter = args.delimiter; - encoding_type = args.use_url_encoding_type ? "url" : ""; - max_keys = args.max_keys; - prefix = args.prefix; - - marker = args.marker; -} - -minio::s3::ListObjectsV2Args::ListObjectsV2Args() {} - -minio::s3::ListObjectsV2Args::ListObjectsV2Args(ListObjectsArgs args) { - extra_headers = args.extra_headers; - extra_query_params = args.extra_query_params; - bucket = args.bucket; - region = args.region; - - delimiter = args.delimiter; - encoding_type = args.use_url_encoding_type ? "url" : ""; - max_keys = args.max_keys; - prefix = args.prefix; - - start_after = args.start_after; - continuation_token = args.continuation_token; - fetch_owner = args.fetch_owner; - include_user_metadata = args.include_user_metadata; -} - -minio::s3::ListObjectVersionsArgs::ListObjectVersionsArgs() {} - -minio::s3::ListObjectVersionsArgs::ListObjectVersionsArgs( - ListObjectsArgs args) { - extra_headers = args.extra_headers; - extra_query_params = args.extra_query_params; - bucket = args.bucket; - region = args.region; - - delimiter = args.delimiter; - encoding_type = args.use_url_encoding_type ? "url" : ""; - max_keys = args.max_keys; - prefix = args.prefix; - - key_marker = args.key_marker; - version_id_marker = args.version_id_marker; -} - -minio::s3::PutObjectArgs::PutObjectArgs(std::istream& istream, long objectsize, - long partsize) - : stream(istream) { - object_size = objectsize; - part_size = partsize; -} - -minio::error::Error minio::s3::PutObjectArgs::Validate() { - if (error::Error err = ObjectArgs::Validate()) return err; - return utils::CalcPartInfo(object_size, part_size, part_count); -} - -minio::error::Error minio::s3::CopyObjectArgs::Validate() { - if (error::Error err = ObjectArgs::Validate()) return err; - if (error::Error err = source.Validate()) return err; - - if (source.offset != NULL || source.length != NULL) { - if (metadata_directive != NULL && *metadata_directive == Directive::kCopy) { - return error::Error( - "COPY metadata directive is not applicable to source object with " - "range"); - } - - if (tagging_directive != NULL && *tagging_directive == Directive::kCopy) { - return error::Error( - "COPY tagging directive is not applicable to source object with " - "range"); - } - } - - return error::SUCCESS; -} - -minio::error::Error minio::s3::ComposeSource::BuildHeaders(size_t object_size, - std::string etag) { - std::string msg = "source " + bucket + "/" + object; - if (!version_id.empty()) msg += "?versionId=" + version_id; - msg += ": "; - - if (offset != NULL && *offset >= object_size) { - return error::Error(msg + "offset " + std::to_string(*offset) + - " is beyond object size " + - std::to_string(object_size)); - } - - if (length != NULL) { - if (*length > object_size) { - return error::Error(msg + "length " + std::to_string(*length) + - " is beyond object size " + - std::to_string(object_size)); - } - - size_t off = 0; - if (offset != NULL) off = *offset; - if ((off + *length) > object_size) { - return error::Error( - msg + "compose size " + std::to_string(off + *length) + - " is beyond object size " + std::to_string(object_size)); - } - } - - object_size_ = object_size; - headers_ = CopyHeaders(); - if (!headers_.Contains("x-amz-copy-source-if-match")) { - headers_.Add("x-amz-copy-source-if-match", etag); - } - - return error::SUCCESS; -} - -size_t minio::s3::ComposeSource::ObjectSize() { - if (object_size_ == -1) { - std::cerr << "ABORT: ComposeSource::BuildHeaders() must be called prior to " - "this method invocation. This shoud not happen." - << std::endl; - std::terminate(); - } - - return object_size_; -} - -minio::utils::Multimap minio::s3::ComposeSource::Headers() { - if (!headers_) { - std::cerr << "ABORT: ComposeSource::BuildHeaders() must be called prior to " - "this method invocation. This shoud not happen." - << std::endl; - std::terminate(); - } - - return headers_; -} - -minio::error::Error minio::s3::ComposeObjectArgs::Validate() { - if (error::Error err = ObjectArgs::Validate()) return err; - if (sources.empty()) return error::Error("compose sources cannot be empty"); - - int i = 1; - for (auto& source : sources) { - if (error::Error err = source.Validate()) { - return error::Error("source " + std::to_string(i) + ": " + err.String()); - } - i++; - } - - return error::SUCCESS; -} - -minio::error::Error minio::s3::UploadObjectArgs::Validate() { - if (error::Error err = ObjectArgs::Validate()) return err; - - if (!utils::CheckNonEmptyString(filename)) { - return error::Error("filename cannot be empty"); - } - - if (!std::filesystem::exists(filename)) { - return error::Error("file " + filename + " does not exist"); - } - - std::filesystem::path file_path = filename; - size_t obj_size = std::filesystem::file_size(file_path); - object_size = obj_size; - return utils::CalcPartInfo(object_size, part_size, part_count); -} diff --git a/src/client.cc b/src/client.cc deleted file mode 100644 index 4d8756e..0000000 --- a/src/client.cc +++ /dev/null @@ -1,1402 +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" - -minio::utils::Multimap minio::s3::GetCommonListObjectsQueryParams( - std::string delimiter, std::string encoding_type, unsigned int max_keys, - std::string prefix) { - utils::Multimap query_params; - query_params.Add("delimiter", delimiter); - query_params.Add("max-keys", std::to_string(max_keys > 0 ? max_keys : 1000)); - query_params.Add("prefix", prefix); - if (!encoding_type.empty()) query_params.Add("encoding-type", encoding_type); - return query_params; -} - -minio::s3::Client::Client(http::BaseUrl& base_url, creds::Provider* provider) - : base_url_(base_url) { - if (!base_url_) { - std::cerr << "base URL must not be empty" << std::endl; - std::terminate(); - } - - provider_ = provider; -} - -void minio::s3::Client::HandleRedirectResponse( - std::string& code, std::string& message, int status_code, - http::Method method, utils::Multimap headers, std::string_view bucket_name, - bool retry) { - switch (status_code) { - case 301: - code = "PermanentRedirect"; - message = "Moved Permanently"; - break; - case 307: - code = "Redirect"; - message = "Temporary redirect"; - break; - case 400: - code = "BadRequest"; - message = "Bad request"; - break; - default: - code = ""; - message = ""; - break; - } - - std::string region = headers.GetFront("x-amz-bucket-region"); - - if (!message.empty() && !region.empty()) { - message += "; use region " + region; - } - - if (retry && !region.empty() && method == http::Method::kHead && - !bucket_name.empty() && !region_map_[std::string(bucket_name)].empty()) { - code = "RetryHead"; - message = ""; - } -} - -minio::s3::Response minio::s3::Client::GetErrorResponse( - http::Response resp, std::string_view resource, http::Method method, - std::string_view bucket_name, std::string_view object_name) { - if (!resp.error.empty()) return error::Error(resp.error); - - Response response; - response.status_code = resp.status_code; - response.headers = resp.headers; - std::string data = resp.body; - if (!data.empty()) { - std::list values = resp.headers.Get("Content-Type"); - for (auto& value : values) { - if (utils::Contains(utils::ToLower(value), "application/xml")) { - return Response::ParseXML(resp.body, resp.status_code, resp.headers); - } - } - - response.error = "invalid response received; status code: " + - std::to_string(resp.status_code) + - "; content-type: " + utils::Join(values, ","); - return response; - } - - switch (resp.status_code) { - case 301: - case 307: - case 400: - HandleRedirectResponse(response.code, response.message, resp.status_code, - method, resp.headers, bucket_name, true); - break; - case 403: - response.code = "AccessDenied"; - response.message = "Access denied"; - break; - case 404: - if (!object_name.empty()) { - response.code = "NoSuchKey"; - response.message = "Object does not exist"; - } else if (bucket_name.empty()) { - response.code = "NoSuchBucket"; - response.message = "Bucket does not exist"; - } else { - response.code = "ResourceNotFound"; - response.message = "Request resource not found"; - } - break; - case 405: - response.code = "MethodNotAllowed"; - response.message = - "The specified method is not allowed against this resource"; - break; - case 409: - if (bucket_name.empty()) { - response.code = "NoSuchBucket"; - response.message = "Bucket does not exist"; - } else { - response.code = "ResourceConflict"; - response.message = "Request resource conflicts"; - } - break; - case 501: - response.code = "MethodNotAllowed"; - response.message = - "The specified method is not allowed against this resource"; - break; - default: - response.error = "server failed with HTTP status code " + - std::to_string(resp.status_code); - return response; - } - - response.resource = resource; - response.request_id = response.headers.GetFront("x-amz-request-id"); - response.host_id = response.headers.GetFront("x-amz-id-2"); - response.bucket_name = bucket_name; - response.object_name = object_name; - - return response; -} - -minio::s3::Response minio::s3::Client::execute(RequestBuilder& builder) { - http::Request request = builder.Build(provider_); - http::Response resp = request.Execute(); - if (resp) { - Response response; - response.status_code = resp.status_code; - response.headers = resp.headers; - response.data = resp.body; - return response; - } - - Response response = - GetErrorResponse(resp, request.url.path, request.method, - builder.bucket_name, builder.object_name); - if (response.code == "NoSuchBucket" || response.code == "RetryHead") { - region_map_.erase(builder.bucket_name); - } - - return response; -} - -minio::s3::Response minio::s3::Client::Execute(RequestBuilder& builder) { - Response resp = execute(builder); - if (resp || resp.code != "RetryHead") return resp; - - // Retry only once on RetryHead error. - resp = execute(builder); - if (resp || resp.code != "RetryHead") return resp; - - std::string code; - std::string message; - HandleRedirectResponse(code, message, resp.status_code, builder.method, - resp.headers, builder.bucket_name); - resp.code = code; - resp.message = message; - - return resp; -} - -minio::s3::GetRegionResponse minio::s3::Client::GetRegion( - std::string_view bucket_name, std::string_view region) { - std::string base_region = base_url_.region; - if (!region.empty()) { - if (!base_region.empty() && base_region != region) { - return error::Error("region must be " + base_region + ", but passed " + - std::string(region)); - } - - return std::string(region); - } - - if (!base_region.empty()) return base_region; - - if (bucket_name.empty() || provider_ == NULL) return std::string("us-east-1"); - - std::string stored_region = region_map_[std::string(bucket_name)]; - if (!stored_region.empty()) return stored_region; - - RequestBuilder builder(http::Method::kGet, "us-east-1", base_url_); - utils::Multimap query_params; - query_params.Add("location", ""); - builder.query_params = query_params; - builder.bucket_name = bucket_name; - - Response response = Execute(builder); - if (!response) return response; - - pugi::xml_document xdoc; - pugi::xml_parse_result result = xdoc.load_string(response.data.data()); - if (!result) return error::Error("unable to parse XML"); - auto text = xdoc.select_node("/LocationConstraint/text()"); - std::string value = text.node().value(); - - if (value.empty()) { - value = "us-east-1"; - } else if (value == "EU") { - if (base_url_.aws_host) value = "eu-west-1"; - } - - region_map_[std::string(bucket_name)] = value; - - return value; -} - -minio::s3::MakeBucketResponse minio::s3::Client::MakeBucket( - MakeBucketArgs args) { - if (error::Error err = args.Validate()) return err; - - std::string region = args.region; - std::string base_region = base_url_.region; - if (!base_region.empty() && !region.empty() && base_region != region) { - return error::Error("region must be " + base_region + ", but passed " + - region); - } - - if (region.empty()) region = base_region; - if (region.empty()) region = "us-east-1"; - - RequestBuilder builder(http::Method::kPut, region, base_url_); - builder.bucket_name = args.bucket; - - utils::Multimap headers; - if (args.object_lock) headers.Add("x-amz-bucket-object-lock-enabled", "true"); - builder.headers = headers; - - std::string body; - if (region != "us-east-1") { - std::stringstream ss; - ss << "" - << "" << region << "" - << ""; - body = ss.str(); - builder.body = body; - } - - Response response = Execute(builder); - if (response) region_map_[std::string(args.bucket)] = region; - - return response; -} - -minio::s3::ListBucketsResponse minio::s3::Client::ListBuckets( - ListBucketsArgs args) { - RequestBuilder builder(http::Method::kGet, base_url_.region, base_url_); - builder.headers = args.extra_headers; - builder.query_params = args.extra_query_params; - Response resp = Execute(builder); - if (!resp) return resp; - return ListBucketsResponse::ParseXML(resp.data); -} - -minio::s3::ListBucketsResponse minio::s3::Client::ListBuckets() { - return ListBuckets(ListBucketsArgs()); -} - -minio::s3::BucketExistsResponse minio::s3::Client::BucketExists( - BucketExistsArgs args) { - if (error::Error err = args.Validate()) return err; - - std::string region; - if (GetRegionResponse resp = GetRegion(args.bucket, args.region)) { - region = resp.region; - } else { - return (resp.code == "NoSuchBucket") ? false : resp; - } - - RequestBuilder builder(http::Method::kHead, region, base_url_); - builder.bucket_name = args.bucket; - if (Response resp = Execute(builder)) { - return true; - } else { - return (resp.code == "NoSuchBucket") ? false : resp; - } -} - -minio::s3::RemoveBucketResponse minio::s3::Client::RemoveBucket( - RemoveBucketArgs args) { - if (error::Error err = args.Validate()) return err; - - std::string region; - if (GetRegionResponse resp = GetRegion(args.bucket, args.region)) { - region = resp.region; - } else { - return resp; - } - - RequestBuilder builder(http::Method::kDelete, region, base_url_); - builder.bucket_name = args.bucket; - - return Execute(builder); -} - -minio::s3::AbortMultipartUploadResponse minio::s3::Client::AbortMultipartUpload( - AbortMultipartUploadArgs args) { - if (error::Error err = args.Validate()) return err; - - std::string region; - if (GetRegionResponse resp = GetRegion(args.bucket, args.region)) { - region = resp.region; - } else { - return resp; - } - - RequestBuilder builder(http::Method::kDelete, region, base_url_); - builder.bucket_name = args.bucket; - builder.object_name = args.object; - utils::Multimap query_params; - query_params.Add("uploadId", args.upload_id); - builder.query_params = query_params; - - return Execute(builder); -} - -minio::s3::CompleteMultipartUploadResponse -minio::s3::Client::CompleteMultipartUpload(CompleteMultipartUploadArgs args) { - if (error::Error err = args.Validate()) return err; - - std::string region; - if (GetRegionResponse resp = GetRegion(args.bucket, args.region)) { - region = resp.region; - } else { - return resp; - } - - RequestBuilder builder(http::Method::kPost, region, base_url_); - builder.bucket_name = args.bucket; - builder.object_name = args.object; - utils::Multimap query_params; - query_params.Add("uploadId", args.upload_id); - builder.query_params = query_params; - - std::stringstream ss; - ss << ""; - for (auto& part : args.parts) { - ss << "" - << "" << part.number << "" - << "" - << "\"" << part.etag << "\"" - << "" - << ""; - } - ss << ""; - std::string body = ss.str(); - builder.body = body; - - utils::Multimap headers; - headers.Add("Content-Type", "application/xml"); - headers.Add("Content-MD5", utils::Md5sumHash(body)); - builder.headers = headers; - - Response response = Execute(builder); - if (!response) return response; - return CompleteMultipartUploadResponse::ParseXML( - response.data, response.headers.GetFront("x-amz-version-id")); -} - -minio::s3::CreateMultipartUploadResponse -minio::s3::Client::CreateMultipartUpload(CreateMultipartUploadArgs args) { - if (error::Error err = args.Validate()) return err; - - if (!args.headers.Contains("Content-Type")) { - args.headers.Add("Content-Type", "application/octet-stream"); - } - - std::string region; - if (GetRegionResponse resp = GetRegion(args.bucket, args.region)) { - region = resp.region; - } else { - return resp; - } - - RequestBuilder builder(http::Method::kPost, region, base_url_); - builder.bucket_name = args.bucket; - builder.object_name = args.object; - utils::Multimap query_params; - query_params.Add("uploads", ""); - builder.query_params = query_params; - - builder.headers = args.headers; - - if (Response resp = Execute(builder)) { - pugi::xml_document xdoc; - pugi::xml_parse_result result = xdoc.load_string(resp.data.data()); - if (!result) return error::Error("unable to parse XML"); - auto text = - xdoc.select_node("/InitiateMultipartUploadResult/UploadId/text()"); - return std::string(text.node().value()); - } else { - return resp; - } -} - -minio::s3::PutObjectResponse minio::s3::Client::PutObject( - PutObjectApiArgs args) { - if (error::Error err = args.Validate()) return err; - - std::string region; - if (GetRegionResponse resp = GetRegion(args.bucket, args.region)) { - region = resp.region; - } else { - return resp; - } - - RequestBuilder builder(http::Method::kPut, region, base_url_); - builder.bucket_name = args.bucket; - builder.object_name = args.object; - builder.query_params = args.query_params; - builder.headers = args.headers; - builder.body = args.data; - - Response response = Execute(builder); - if (!response) return response; - - PutObjectResponse resp; - resp.etag = utils::Trim(response.headers.GetFront("etag"), '"'); - resp.version_id = response.headers.GetFront("x-amz-version-id"); - - return resp; -} - -minio::s3::UploadPartResponse minio::s3::Client::UploadPart( - UploadPartArgs args) { - if (error::Error err = args.Validate()) return err; - - utils::Multimap query_params; - query_params.Add("partNumber", std::to_string(args.part_number)); - query_params.Add("uploadId", args.upload_id); - - PutObjectApiArgs api_args; - api_args.extra_headers = args.extra_headers; - api_args.extra_query_params = args.extra_query_params; - api_args.bucket = args.bucket; - api_args.region = args.region; - api_args.object = args.object; - api_args.data = args.data; - api_args.query_params = query_params; - - return PutObject(api_args); -} - -minio::s3::UploadPartCopyResponse minio::s3::Client::UploadPartCopy( - UploadPartCopyArgs args) { - if (error::Error err = args.Validate()) return err; - - std::string region; - if (GetRegionResponse resp = GetRegion(args.bucket, args.region)) { - region = resp.region; - } else { - return resp; - } - - RequestBuilder builder(http::Method::kPut, region, base_url_); - builder.bucket_name = args.bucket; - builder.object_name = args.object; - - utils::Multimap query_params; - query_params.AddAll(args.extra_query_params); - query_params.Add("partNumber", std::to_string(args.part_number)); - query_params.Add("uploadId", args.upload_id); - builder.query_params = query_params; - - builder.headers = args.headers; - - Response response = Execute(builder); - if (!response) return response; - - UploadPartCopyResponse resp; - resp.etag = utils::Trim(response.headers.GetFront("etag"), '"'); - - return resp; -} - -minio::s3::StatObjectResponse minio::s3::Client::StatObject( - StatObjectArgs args) { - if (error::Error err = args.Validate()) return err; - - if (args.ssec != NULL && !base_url_.is_https) { - return error::Error( - "SSE-C operation must be performed over a secure connection"); - } - - std::string region; - if (GetRegionResponse resp = GetRegion(args.bucket, args.region)) { - region = resp.region; - } else { - return resp; - } - - RequestBuilder builder(http::Method::kHead, region, base_url_); - builder.bucket_name = args.bucket; - builder.object_name = args.object; - utils::Multimap query_params; - if (!args.version_id.empty()) { - query_params.Add("versionId", args.version_id); - builder.query_params = query_params; - } - builder.headers = args.Headers(); - - Response response = Execute(builder); - if (!response) return response; - - StatObjectResponse resp = response; - resp.bucket_name = args.bucket; - resp.object_name = args.object; - resp.version_id = response.headers.GetFront("x-amz-version-id"); - - resp.etag = utils::Trim(response.headers.GetFront("etag"), '"'); - - std::string value = response.headers.GetFront("content-length"); - if (!value.empty()) resp.size = std::stoi(value); - - value = response.headers.GetFront("last-modified"); - if (!value.empty()) { - resp.last_modified = utils::Time::FromHttpHeaderValue(value.c_str()); - } - - value = response.headers.GetFront("x-amz-object-lock-mode"); - if (!value.empty()) resp.retention_mode = StringToRetentionMode(value); - - value = response.headers.GetFront("x-amz-object-lock-retain-until-date"); - if (!value.empty()) { - resp.retention_retain_until_date = - utils::Time::FromISO8601UTC(value.c_str()); - } - - value = response.headers.GetFront("x-amz-object-lock-legal-hold"); - if (!value.empty()) resp.legal_hold = StringToLegalHold(value); - - value = response.headers.GetFront("x-amz-delete-marker"); - if (!value.empty()) resp.delete_marker = utils::StringToBool(value); - - utils::Multimap user_metadata; - std::list keys = response.headers.Keys(); - for (auto key : keys) { - if (utils::StartsWith(key, "x-amz-meta-")) { - std::list values = response.headers.Get(key); - key.erase(0, 11); - for (auto value : values) user_metadata.Add(key, value); - } - } - resp.user_metadata = user_metadata; - - return resp; -} - -minio::s3::RemoveObjectResponse minio::s3::Client::RemoveObject( - RemoveObjectArgs args) { - if (error::Error err = args.Validate()) return err; - - std::string region; - if (GetRegionResponse resp = GetRegion(args.bucket, args.region)) { - region = resp.region; - } else { - return resp; - } - - RequestBuilder builder(http::Method::kDelete, region, base_url_); - builder.bucket_name = args.bucket; - builder.object_name = args.object; - utils::Multimap query_params; - if (!args.version_id.empty()) { - query_params.Add("versionId", args.version_id); - builder.query_params = query_params; - } - - return Execute(builder); -} - -minio::s3::DownloadObjectResponse minio::s3::Client::DownloadObject( - DownloadObjectArgs args) { - if (error::Error err = args.Validate()) return err; - - if (args.ssec != NULL && !base_url_.is_https) { - return error::Error( - "SSE-C operation must be performed over a secure connection"); - } - - std::string etag; - size_t size; - { - StatObjectArgs soargs; - soargs.bucket = args.bucket; - soargs.region = args.region; - soargs.object = args.object; - soargs.version_id = args.version_id; - soargs.ssec = args.ssec; - StatObjectResponse resp = StatObject(soargs); - if (!resp) return resp; - etag = resp.etag; - size = resp.size; - } - - std::string temp_filename = - args.filename + "." + curlpp::escape(etag) + ".part.minio"; - std::ofstream fout(temp_filename, fout.trunc | fout.out); - if (!fout.is_open()) { - DownloadObjectResponse resp; - resp.error = "unable to open file " + temp_filename; - return resp; - } - - std::string region; - if (GetRegionResponse resp = GetRegion(args.bucket, args.region)) { - region = resp.region; - } else { - return resp; - } - - RequestBuilder builder(http::Method::kGet, region, base_url_); - builder.bucket_name = args.bucket; - builder.object_name = args.object; - utils::Multimap query_params; - if (!args.version_id.empty()) { - query_params.Add("versionId", std::string(args.version_id)); - builder.query_params = query_params; - } - builder.data_callback = [](http::DataCallbackArgs args) -> size_t { - std::ofstream* fout = (std::ofstream*)args.user_arg; - *fout << std::string(args.buffer, args.length); - return args.size * args.length; - }; - builder.user_arg = &fout; - - Response response = Execute(builder); - fout.close(); - if (response) std::filesystem::rename(temp_filename, args.filename); - return response; -} - -minio::s3::GetObjectResponse minio::s3::Client::GetObject(GetObjectArgs args) { - if (error::Error err = args.Validate()) return err; - - if (args.ssec != NULL && !base_url_.is_https) { - return error::Error( - "SSE-C operation must be performed over a secure connection"); - } - - std::string region; - if (GetRegionResponse resp = GetRegion(args.bucket, args.region)) { - region = resp.region; - } else { - return resp; - } - - RequestBuilder builder(http::Method::kGet, region, base_url_); - builder.bucket_name = args.bucket; - builder.object_name = args.object; - utils::Multimap query_params; - if (!args.version_id.empty()) { - query_params.Add("versionId", args.version_id); - builder.query_params = query_params; - } - builder.data_callback = args.data_callback; - builder.user_arg = args.user_arg; - if (args.ssec != NULL) { - builder.headers = args.ssec->Headers(); - } - - return Execute(builder); -} - -minio::s3::ListObjectsResponse minio::s3::Client::ListObjectsV1( - ListObjectsV1Args args) { - if (error::Error err = args.Validate()) return err; - - std::string region; - if (GetRegionResponse resp = GetRegion(args.bucket, args.region)) { - region = resp.region; - } else { - return resp; - } - - utils::Multimap query_params; - query_params.AddAll(args.extra_query_params); - query_params.AddAll(GetCommonListObjectsQueryParams( - args.delimiter, args.encoding_type, args.max_keys, args.prefix)); - if (!args.marker.empty()) query_params.Add("marker", args.marker); - - RequestBuilder builder(http::Method::kGet, region, base_url_); - builder.bucket_name = args.bucket; - builder.query_params = query_params; - builder.headers = args.extra_headers; - - Response resp = Execute(builder); - if (!resp) resp; - - return ListObjectsResponse::ParseXML(resp.data, false); -} - -minio::s3::ListObjectsResponse minio::s3::Client::ListObjectsV2( - ListObjectsV2Args args) { - if (error::Error err = args.Validate()) return err; - - std::string region; - if (GetRegionResponse resp = GetRegion(args.bucket, args.region)) { - region = resp.region; - } else { - return resp; - } - - utils::Multimap query_params; - query_params.Add("list-type", "2"); - query_params.AddAll(args.extra_query_params); - query_params.AddAll(GetCommonListObjectsQueryParams( - args.delimiter, args.encoding_type, args.max_keys, args.prefix)); - if (!args.continuation_token.empty()) - query_params.Add("continuation-token", args.continuation_token); - if (args.fetch_owner) query_params.Add("fetch-owner", "true"); - if (!args.start_after.empty()) { - query_params.Add("start-after", args.start_after); - } - if (args.include_user_metadata) query_params.Add("metadata", "true"); - - RequestBuilder builder(http::Method::kGet, region, base_url_); - builder.bucket_name = args.bucket; - builder.query_params = query_params; - builder.headers = args.extra_headers; - - Response resp = Execute(builder); - if (!resp) resp; - - return ListObjectsResponse::ParseXML(resp.data, false); -} - -minio::s3::ListObjectsResponse minio::s3::Client::ListObjectVersions( - ListObjectVersionsArgs args) { - if (error::Error err = args.Validate()) return err; - - std::string region; - if (GetRegionResponse resp = GetRegion(args.bucket, args.region)) { - region = resp.region; - } else { - return resp; - } - - utils::Multimap query_params; - query_params.Add("versions", ""); - query_params.AddAll(args.extra_query_params); - query_params.AddAll(GetCommonListObjectsQueryParams( - args.delimiter, args.encoding_type, args.max_keys, args.prefix)); - if (!args.key_marker.empty()) query_params.Add("key-marker", args.key_marker); - if (!args.version_id_marker.empty()) { - query_params.Add("version-id-marker", args.version_id_marker); - } - - RequestBuilder builder(http::Method::kGet, region, base_url_); - builder.bucket_name = args.bucket; - builder.query_params = query_params; - builder.headers = args.extra_headers; - - Response resp = Execute(builder); - if (!resp) resp; - - return ListObjectsResponse::ParseXML(resp.data, true); -} - -minio::s3::ListObjectsResult::ListObjectsResult(error::Error err) { - failed_ = true; - resp_.contents.push_back(Item(err)); - itr_ = resp_.contents.begin(); -} - -minio::s3::ListObjectsResult::ListObjectsResult(Client* client, - ListObjectsArgs* args) { - client_ = client; - args_ = args; - Populate(); -} - -void minio::s3::ListObjectsResult::Populate() { - if (args_->include_versions) { - args_->key_marker = resp_.next_key_marker; - args_->version_id_marker = resp_.next_version_id_marker; - } else if (args_->use_api_v1) { - args_->marker = resp_.next_marker; - } else { - args_->start_after = resp_.start_after; - args_->continuation_token = resp_.next_continuation_token; - } - - std::string region; - if (GetRegionResponse resp = - client_->GetRegion(args_->bucket, args_->region)) { - region = resp.region; - if (args_->recursive) { - args_->delimiter = ""; - } else if (args_->delimiter.empty()) { - args_->delimiter = "/"; - } - - if (args_->include_versions || !args_->version_id_marker.empty()) { - resp_ = client_->ListObjectVersions(*args_); - } else if (args_->use_api_v1) { - resp_ = client_->ListObjectsV1(*args_); - } else { - resp_ = client_->ListObjectsV2(*args_); - } - - if (!resp_) { - failed_ = true; - resp_.contents.push_back(Item(resp_)); - } - } else { - failed_ = true; - resp_.contents.push_back(Item(resp)); - } - - itr_ = resp_.contents.begin(); -} - -minio::s3::ListObjectsResult minio::s3::Client::ListObjects( - ListObjectsArgs args) { - if (error::Error err = args.Validate()) return err; - return ListObjectsResult(this, &args); -} - -minio::s3::PutObjectResponse minio::s3::Client::PutObject( - PutObjectArgs& args, std::string& upload_id, char* buf) { - utils::Multimap headers = args.Headers(); - if (!headers.Contains("Content-Type")) { - if (args.content_type.empty()) { - headers.Add("Content-Type", "application/octet-stream"); - } else { - headers.Add("Content-Type", args.content_type); - } - } - - long object_size = args.object_size; - size_t part_size = args.part_size; - size_t uploaded_size = 0; - unsigned int part_number = 0; - std::string one_byte; - bool stop = false; - std::list parts; - long part_count = args.part_count; - - while (!stop) { - part_number++; - - size_t bytes_read = 0; - if (part_count > 0) { - if (part_number == part_count) { - part_size = object_size - uploaded_size; - stop = true; - } - - if (error::Error err = - utils::ReadPart(args.stream, buf, part_size, bytes_read)) { - return err; - } - - if (bytes_read != part_size) { - return error::Error("not enough data in the stream; expected: " + - std::to_string(part_size) + - ", got: " + std::to_string(bytes_read) + " bytes"); - } - } else { - char* b = buf; - size_t size = part_size + 1; - - if (!one_byte.empty()) { - buf[0] = one_byte.front(); - b = buf + 1; - size--; - bytes_read = 1; - one_byte = ""; - } - - size_t n = 0; - if (error::Error err = utils::ReadPart(args.stream, b, size, n)) { - return err; - } - - bytes_read += n; - - // If bytes read is less than or equals to part size, then we have reached - // last part. - if (bytes_read <= part_size) { - part_count = part_number; - part_size = bytes_read; - stop = true; - } else { - one_byte = buf[part_size + 1]; - } - } - - std::string_view data(buf, part_size); - - uploaded_size += part_size; - - if (part_count == 1) { - PutObjectApiArgs api_args; - api_args.extra_query_params = args.extra_query_params; - api_args.bucket = args.bucket; - api_args.region = args.region; - api_args.object = args.object; - api_args.data = data; - api_args.headers = headers; - - return PutObject(api_args); - } - - if (upload_id.empty()) { - CreateMultipartUploadArgs cmu_args; - cmu_args.extra_query_params = args.extra_query_params; - cmu_args.bucket = args.bucket; - cmu_args.region = args.region; - cmu_args.object = args.object; - cmu_args.headers = headers; - if (CreateMultipartUploadResponse resp = - CreateMultipartUpload(cmu_args)) { - upload_id = resp.upload_id; - } else { - return resp; - } - } - - UploadPartArgs up_args; - up_args.bucket = args.bucket; - up_args.region = args.region; - up_args.object = args.object; - up_args.upload_id = upload_id; - up_args.part_number = part_number; - up_args.data = data; - if (args.sse != NULL) { - if (SseCustomerKey* ssec = dynamic_cast(args.sse)) { - up_args.headers = ssec->Headers(); - } - } - - if (UploadPartResponse resp = UploadPart(up_args)) { - parts.push_back(Part{part_number, resp.etag}); - } else { - return resp; - } - } - - CompleteMultipartUploadArgs cmu_args; - cmu_args.bucket = args.bucket; - cmu_args.region = args.region; - cmu_args.object = args.object; - cmu_args.upload_id = upload_id; - cmu_args.parts = parts; - return CompleteMultipartUpload(cmu_args); -} - -minio::s3::PutObjectResponse minio::s3::Client::PutObject(PutObjectArgs args) { - if (error::Error err = args.Validate()) return err; - - if (args.sse != NULL && args.sse->TlsRequired() && !base_url_.is_https) { - return error::Error( - "SSE operation must be performed over a secure connection"); - } - - char* buf = NULL; - if (args.part_count > 0) { - buf = new char[args.part_size]; - } else { - buf = new char[args.part_size + 1]; - } - - std::string upload_id; - PutObjectResponse resp = PutObject(args, upload_id, buf); - delete buf; - - if (!resp && !upload_id.empty()) { - AbortMultipartUploadArgs amu_args; - amu_args.bucket = args.bucket; - amu_args.region = args.region; - amu_args.object = args.object; - amu_args.upload_id = upload_id; - AbortMultipartUpload(amu_args); - } - - return resp; -} - -minio::s3::CopyObjectResponse minio::s3::Client::CopyObject( - CopyObjectArgs args) { - if (error::Error err = args.Validate()) return err; - - if (args.sse != NULL && args.sse->TlsRequired() && !base_url_.is_https) { - return error::Error( - "SSE operation must be performed over a secure connection"); - } - - if (args.source.ssec != NULL && !base_url_.is_https) { - return error::Error( - "SSE-C operation must be performed over a secure connection"); - } - - std::string etag; - size_t size; - { - StatObjectArgs soargs; - soargs.extra_headers = args.source.extra_headers; - soargs.extra_query_params = args.source.extra_query_params; - soargs.bucket = args.source.bucket; - soargs.region = args.source.region; - soargs.object = args.source.object; - soargs.version_id = args.source.version_id; - soargs.ssec = args.source.ssec; - StatObjectResponse resp = StatObject(soargs); - if (!resp) return resp; - etag = resp.etag; - size = resp.size; - } - - if (args.source.offset != NULL || args.source.length != NULL || - size > utils::kMaxPartSize) { - if (args.metadata_directive != NULL && - *args.metadata_directive == Directive::kCopy) { - return error::Error( - "COPY metadata directive is not applicable to source object size " - "greater than 5 GiB"); - } - - if (args.tagging_directive != NULL && - *args.tagging_directive == Directive::kCopy) { - return error::Error( - "COPY tagging directive is not applicable to source object size " - "greater than 5 GiB"); - } - - ComposeSource src; - src.extra_headers = args.source.extra_headers; - src.extra_query_params = args.source.extra_query_params; - src.bucket = args.source.bucket; - src.region = args.source.region; - src.object = args.source.object; - src.ssec = args.source.ssec; - src.offset = args.source.offset; - src.length = args.source.length; - src.match_etag = args.source.match_etag; - src.not_match_etag = args.source.not_match_etag; - src.modified_since = args.source.modified_since; - src.unmodified_since = args.source.unmodified_since; - - ComposeObjectArgs coargs; - coargs.extra_headers = args.extra_headers; - coargs.extra_query_params = args.extra_query_params; - coargs.bucket = args.bucket; - coargs.region = args.region; - coargs.object = args.object; - coargs.sse = args.sse; - coargs.sources.push_back(src); - - return ComposeObject(coargs); - } - - utils::Multimap headers; - headers.AddAll(args.extra_headers); - headers.AddAll(args.Headers()); - if (args.metadata_directive != NULL) { - headers.Add("x-amz-metadata-directive", - DirectiveToString(*args.metadata_directive)); - } - if (args.tagging_directive != NULL) { - headers.Add("x-amz-tagging-directive", - DirectiveToString(*args.tagging_directive)); - } - headers.AddAll(args.source.CopyHeaders()); - - std::string region; - if (GetRegionResponse resp = GetRegion(args.bucket, args.region)) { - region = resp.region; - } else { - return resp; - } - - RequestBuilder builder(http::Method::kPut, region, base_url_); - builder.bucket_name = args.bucket; - builder.object_name = args.object; - builder.query_params = args.extra_query_params; - builder.headers = headers; - - Response response = Execute(builder); - if (!response) return response; - - CopyObjectResponse resp; - resp.etag = utils::Trim(response.headers.GetFront("etag"), '"'); - resp.version_id = response.headers.GetFront("x-amz-version-id"); - - return resp; -} - -minio::s3::StatObjectResponse minio::s3::Client::CalculatePartCount( - size_t& part_count, std::list sources) { - size_t object_size = 0; - int i = 0; - for (auto& source : sources) { - if (source.ssec != NULL && !base_url_.is_https) { - std::string msg = "source " + source.bucket + "/" + source.object; - if (!source.version_id.empty()) msg += "?versionId=" + source.version_id; - msg += ": SSE-C operation must be performed over a secure connection"; - return error::Error(msg); - } - - i++; - - std::string etag; - size_t size; - - StatObjectArgs soargs; - soargs.extra_headers = source.extra_headers; - soargs.extra_query_params = source.extra_query_params; - soargs.bucket = source.bucket; - soargs.region = source.region; - soargs.object = source.object; - soargs.version_id = source.version_id; - soargs.ssec = source.ssec; - StatObjectResponse resp = StatObject(soargs); - if (!resp) return resp; - etag = resp.etag; - size = resp.size; - if (error::Error err = source.BuildHeaders(size, etag)) return err; - - if (source.length != NULL) { - size = *source.length; - } else if (source.offset != NULL) { - size -= *source.offset; - } - - if (size < utils::kMinPartSize && sources.size() != 1 && - i != sources.size()) { - std::string msg = "source " + source.bucket + "/" + source.object; - if (!source.version_id.empty()) msg += "?versionId=" + source.version_id; - msg += ": size " + std::to_string(size) + " must be greater than " + - std::to_string(utils::kMinPartSize); - return error::Error(msg); - } - - object_size += size; - if (object_size > utils::kMaxObjectSize) { - return error::Error("destination object size must be less than " + - std::to_string(utils::kMaxObjectSize)); - } - - if (size > utils::kMaxPartSize) { - size_t count = size / utils::kMaxPartSize; - size_t last_part_size = size - (count * utils::kMaxPartSize); - if (last_part_size > 0) { - count++; - } else { - last_part_size = utils::kMaxPartSize; - } - - if (last_part_size < utils::kMinPartSize && sources.size() != 1 && - i != sources.size()) { - std::string msg = "source " + source.bucket + "/" + source.object; - if (!source.version_id.empty()) { - msg += "?versionId=" + source.version_id; - } - msg += ": size " + std::to_string(size) + - " for multipart split upload of " + std::to_string(size) + - ", last part size is less than " + - std::to_string(utils::kMinPartSize); - return error::Error(msg); - } - - part_count += count; - } else { - part_count++; - } - - if (part_count > utils::kMaxMultipartCount) { - return error::Error( - "Compose sources create more than allowed multipart count " + - std::to_string(utils::kMaxMultipartCount)); - } - } - - return error::SUCCESS; -} - -minio::s3::ComposeObjectResponse minio::s3::Client::ComposeObject( - ComposeObjectArgs args, std::string& upload_id) { - size_t part_count = 0; - { - StatObjectResponse resp = CalculatePartCount(part_count, args.sources); - if (!resp) return resp; - } - - ComposeSource& source = args.sources.front(); - if (part_count == 1 && source.offset == NULL && source.length == NULL) { - CopySource src; - src.extra_headers = source.extra_headers; - src.extra_query_params = source.extra_query_params; - src.bucket = source.bucket; - src.region = source.region; - src.object = source.object; - src.ssec = source.ssec; - src.offset = source.offset; - src.length = source.length; - src.match_etag = source.match_etag; - src.not_match_etag = source.not_match_etag; - src.modified_since = source.modified_since; - src.unmodified_since = source.unmodified_since; - - CopyObjectArgs coargs; - coargs.extra_headers = args.extra_headers; - coargs.extra_query_params = args.extra_query_params; - coargs.bucket = args.bucket; - coargs.region = args.region; - coargs.object = args.object; - coargs.sse = args.sse; - coargs.source = src; - - return CopyObject(coargs); - } - - utils::Multimap headers = args.Headers(); - - { - CreateMultipartUploadArgs cmu_args; - cmu_args.extra_query_params = args.extra_query_params; - cmu_args.bucket = args.bucket; - cmu_args.region = args.region; - cmu_args.object = args.object; - cmu_args.headers = headers; - if (CreateMultipartUploadResponse resp = CreateMultipartUpload(cmu_args)) { - upload_id = resp.upload_id; - } else { - return resp; - } - } - - unsigned int part_number = 0; - utils::Multimap ssecheaders; - if (args.sse != NULL) { - if (SseCustomerKey* ssec = dynamic_cast(args.sse)) { - ssecheaders = ssec->Headers(); - } - } - - std::list parts; - for (auto& source : args.sources) { - size_t size = source.ObjectSize(); - if (source.length != NULL) { - size = *source.length; - } else if (source.offset != NULL) { - size -= *source.offset; - } - - size_t offset = 0; - if (source.offset != NULL) offset = *source.offset; - - utils::Multimap headers; - headers.AddAll(source.Headers()); - headers.AddAll(ssecheaders); - - if (size <= utils::kMaxPartSize) { - part_number++; - if (source.length != NULL) { - headers.Add("x-amz-copy-source-range", - "bytes=" + std::to_string(offset) + "-" + - std::to_string(offset + *source.length - 1)); - } else if (source.offset != NULL) { - headers.Add("x-amz-copy-source-range", - "bytes=" + std::to_string(offset) + "-" + - std::to_string(offset + size - 1)); - } - - UploadPartCopyArgs upc_args; - upc_args.bucket = args.bucket; - upc_args.region = args.region; - upc_args.object = args.object; - upc_args.headers = headers; - upc_args.upload_id = upload_id; - upc_args.part_number = part_number; - UploadPartCopyResponse resp = UploadPartCopy(upc_args); - if (!resp) return resp; - parts.push_back(Part{part_number, resp.etag}); - } else { - while (size > 0) { - part_number++; - - size_t start_bytes = offset; - size_t end_bytes = start_bytes + utils::kMaxPartSize; - if (size < utils::kMaxPartSize) end_bytes = start_bytes + size; - - utils::Multimap headerscopy; - headerscopy.AddAll(headers); - headerscopy.Add("x-amz-copy-source-range", - "bytes=" + std::to_string(start_bytes) + "-" + - std::to_string(end_bytes)); - - UploadPartCopyArgs upc_args; - upc_args.bucket = args.bucket; - upc_args.region = args.region; - upc_args.object = args.object; - upc_args.headers = headerscopy; - upc_args.upload_id = upload_id; - upc_args.part_number = part_number; - UploadPartCopyResponse resp = UploadPartCopy(upc_args); - if (!resp) return resp; - parts.push_back(Part{part_number, resp.etag}); - - offset = start_bytes; - size -= (end_bytes - start_bytes); - } - } - } - - CompleteMultipartUploadArgs cmu_args; - cmu_args.bucket = args.bucket; - cmu_args.region = args.region; - cmu_args.object = args.object; - cmu_args.upload_id = upload_id; - cmu_args.parts = parts; - return CompleteMultipartUpload(cmu_args); -} - -minio::s3::ComposeObjectResponse minio::s3::Client::ComposeObject( - ComposeObjectArgs args) { - if (error::Error err = args.Validate()) return err; - - if (args.sse != NULL && args.sse->TlsRequired() && !base_url_.is_https) { - return error::Error( - "SSE operation must be performed over a secure connection"); - } - - std::string upload_id; - ComposeObjectResponse resp = ComposeObject(args, upload_id); - if (!resp && !upload_id.empty()) { - AbortMultipartUploadArgs amu_args; - amu_args.bucket = args.bucket; - amu_args.region = args.region; - amu_args.object = args.object; - amu_args.upload_id = upload_id; - AbortMultipartUpload(amu_args); - } - - return resp; -} - -minio::s3::UploadObjectResponse minio::s3::Client::UploadObject( - UploadObjectArgs args) { - if (error::Error err = args.Validate()) return err; - - std::ifstream file; - file.exceptions(std::ifstream::failbit | std::ifstream::badbit); - try { - file.open(args.filename); - } catch (std::system_error& err) { - return error::Error("unable to open file " + args.filename + "; " + - err.code().message()); - } - - PutObjectArgs po_args(file, args.object_size, args.part_size); - po_args.extra_headers = args.extra_headers; - po_args.extra_query_params = args.extra_query_params; - po_args.bucket = args.bucket; - po_args.region = args.region; - po_args.object = args.object; - po_args.headers = args.headers; - po_args.user_metadata = args.user_metadata; - po_args.sse = args.sse; - po_args.tags = args.tags; - po_args.retention = args.retention; - po_args.legal_hold = args.legal_hold; - po_args.part_count = args.part_count; - po_args.content_type = args.content_type; - - PutObjectResponse resp = PutObject(po_args); - file.close(); - return resp; -} diff --git a/src/creds.cc b/src/creds.cc deleted file mode 100644 index 8a2a42e..0000000 --- a/src/creds.cc +++ /dev/null @@ -1,59 +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 "creds.h" - -minio::creds::Credentials::Credentials(const Credentials& creds) { - access_key_ = creds.access_key_; - secret_key_ = creds.secret_key_; - session_token_ = creds.session_token_; - expiration_ = creds.expiration_; -} - -minio::creds::Credentials::Credentials(std::string_view access_key, - std::string_view secret_key, - std::string_view session_token, - unsigned int expiration) { - access_key_ = access_key; - secret_key_ = secret_key; - session_token_ = session_token; - expiration_ = expiration; -} - -std::string minio::creds::Credentials::AccessKey() { - return std::string(access_key_); -} - -std::string minio::creds::Credentials::SecretKey() { - return std::string(secret_key_); -} - -std::string minio::creds::Credentials::SessionToken() { - return std::string(session_token_); -} - -bool minio::creds::Credentials::IsExpired() { return expiration_ != 0; } - -minio::creds::StaticProvider::StaticProvider(std::string_view access_key, - std::string_view secret_key, - std::string_view session_token) { - creds_ = new Credentials(access_key, secret_key, session_token); -} - -minio::creds::StaticProvider::~StaticProvider() { delete creds_; } - -minio::creds::Credentials minio::creds::StaticProvider::Fetch() { - return *creds_; -} diff --git a/src/http.cc b/src/http.cc deleted file mode 100644 index f8cfbaa..0000000 --- a/src/http.cc +++ /dev/null @@ -1,342 +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 "http.h" - -std::string minio::http::ExtractRegion(std::string host) { - std::stringstream str_stream(host); - std::string token; - std::vector tokens; - while (std::getline(str_stream, token, '.')) tokens.push_back(token); - - token = tokens[1]; - - // If token is "dualstack", then region might be in next token. - if (token == "dualstack") token = tokens[2]; - - // If token is equal to "amazonaws", region is not passed in the host. - if (token == "amazonaws") return ""; - - // Return token as region. - return token; -} - -minio::error::Error minio::http::BaseUrl::SetHost(std::string hostvalue) { - std::stringstream str_stream(hostvalue); - std::string portstr; - while (std::getline(str_stream, portstr, ':')) - ; - try { - port = std::stoi(portstr); - hostvalue = hostvalue.substr(0, hostvalue.rfind(":" + portstr)); - } catch (std::invalid_argument) { - port = 0; - } - - accelerate_host = utils::StartsWith(hostvalue, "s3-accelerate."); - aws_host = ((utils::StartsWith(hostvalue, "s3.") || accelerate_host) && - (utils::EndsWith(hostvalue, ".amazonaws.com") || - utils::EndsWith(hostvalue, ".amazonaws.com.cn"))); - virtual_style = aws_host || utils::EndsWith(hostvalue, "aliyuncs.com"); - - if (aws_host) { - std::string awshost; - bool is_aws_china_host = utils::EndsWith(hostvalue, ".cn"); - awshost = "amazonaws.com"; - if (is_aws_china_host) awshost = "amazonaws.com.cn"; - region = ExtractRegion(hostvalue); - - if (is_aws_china_host && region.empty()) { - return error::Error("region missing in Amazon S3 China endpoint " + - hostvalue); - } - - dualstack_host = utils::Contains(hostvalue, ".dualstack."); - hostvalue = awshost; - } else { - accelerate_host = false; - } - - host = hostvalue; - - return error::SUCCESS; -} - -std::string minio::http::BaseUrl::GetHostHeaderValue() { - // ignore port when port and service match i.e HTTP -> 80, HTTPS -> 443 - if (port == 0 || (!is_https && port == 80) || (is_https && port == 443)) { - return host; - } - return host + ":" + std::to_string(port); -} - -minio::error::Error minio::http::BaseUrl::BuildUrl(utils::Url &url, - Method method, - std::string region, - utils::Multimap query_params, - std::string bucket_name, - std::string object_name) { - if (bucket_name.empty() && !object_name.empty()) { - return error::Error("empty bucket name for object name " + object_name); - } - - std::string host = GetHostHeaderValue(); - - if (bucket_name.empty()) { - if (aws_host) host = "s3." + region + "." + host; - url = utils::Url{is_https, host, "/"}; - return error::SUCCESS; - } - - bool enforce_path_style = ( - // CreateBucket API requires path style in Amazon AWS S3. - (method == Method::kPut && object_name.empty() && !query_params) || - - // GetBucketLocation API requires path style in Amazon AWS S3. - query_params.Contains("location") || - - // Use path style for bucket name containing '.' which causes - // SSL certificate validation error. - (utils::Contains(bucket_name, '.') && is_https)); - - if (aws_host) { - std::string s3_domain = "s3."; - if (accelerate_host) { - if (utils::Contains(bucket_name, '.')) { - return error::Error( - "bucket name '" + bucket_name + - "' with '.' is not allowed for accelerate endpoint"); - } - - if (!enforce_path_style) s3_domain = "s3-accelerate."; - } - - if (dualstack_host) s3_domain += "dualstack."; - if (enforce_path_style || !accelerate_host) { - s3_domain += region + "."; - } - host = s3_domain + host; - } - - std::string path; - if (enforce_path_style || !virtual_style) { - path = "/" + bucket_name; - } else { - host = bucket_name + "." + host; - } - - if (!object_name.empty()) { - if (*(object_name.begin()) != '/') path += "/"; - path += utils::EncodePath(object_name); - } - - url = utils::Url{is_https, host, path, query_params.ToQueryString()}; - - return error::SUCCESS; -} - -size_t minio::http::Response::ReadStatusCode(char *buffer, size_t size, - size_t length) { - size_t real_size = size * length; - - response_ += std::string(buffer, length); - - size_t pos = response_.find("\r\n"); - if (pos == std::string::npos) return real_size; - - std::string line = response_.substr(0, pos); - response_ = response_.substr(pos + 2); - - if (continue100_) { - if (!line.empty()) { - error = "invalid HTTP response"; - return real_size; - } - - continue100_ = false; - - pos = response_.find("\r\n"); - if (pos == std::string::npos) return real_size; - - line = response_.substr(0, pos); - response_ = response_.substr(pos + 2); - } - - // Skip HTTP/1.x. - pos = line.find(" "); - if (pos == std::string::npos) { - error = "invalid HTTP response"; - return real_size; - } - line = line.substr(pos + 1); - - // Read status code. - pos = line.find(" "); - if (pos == std::string::npos) { - error = "invalid HTTP response"; - return real_size; - } - std::string code = line.substr(0, pos); - std::string::size_type st; - status_code = std::stoi(code, &st); - if (st == std::string::npos) error = "invalid HTTP response code"; - - if (status_code == 100) { - continue100_ = true; - } else { - status_code_read_ = true; - } - - return real_size; -} - -size_t minio::http::Response::ReadHeaders(curlpp::Easy *handle, char *buffer, - size_t size, size_t length) { - size_t real_size = size * length; - - response_ += std::string(buffer, length); - size_t pos = response_.find("\r\n\r\n"); - if (pos == std::string::npos) return real_size; - - headers_read_ = true; - - std::string lines = response_.substr(0, pos); - body = response_.substr(pos + 4); - - while ((pos = lines.find("\r\n")) != std::string::npos) { - std::string line = lines.substr(0, pos); - lines.erase(0, pos + 2); - - if ((pos = line.find(": ")) == std::string::npos) { - error = "invalid HTTP header: " + line; - return real_size; - } - - headers.Add(line.substr(0, pos), line.substr(pos + 2)); - } - - if (!lines.empty()) { - if ((pos = lines.find(": ")) == std::string::npos) { - error = "invalid HTTP header: " + lines; - return real_size; - } - - headers.Add(lines.substr(0, pos), lines.substr(pos + 2)); - } - - if (body.size() == 0 || data_callback == NULL || status_code < 200 || - status_code > 299) - return real_size; - - DataCallbackArgs args = {handle, this, body.data(), 1, body.size(), user_arg}; - size_t written = data_callback(args); - if (written == body.size()) written = real_size; - body = ""; - return written; -} - -size_t minio::http::Response::ResponseCallback(curlpp::Easy *handle, - char *buffer, size_t size, - size_t length) { - size_t real_size = size * length; - - // As error occurred previously, just drain the connection. - if (!error.empty()) return real_size; - - if (!status_code_read_) return ReadStatusCode(buffer, size, length); - - if (!headers_read_) return ReadHeaders(handle, buffer, size, length); - - // Received unsuccessful HTTP response code. - if (data_callback == NULL || status_code < 200 || status_code > 299) { - body += std::string(buffer, length); - return real_size; - } - - return data_callback( - DataCallbackArgs{handle, this, buffer, size, length, user_arg}); -} - -minio::http::Request::Request(Method httpmethod, utils::Url httpurl) { - method = httpmethod; - url = httpurl; -} - -minio::http::Response minio::http::Request::execute() { - curlpp::Cleanup cleaner; - curlpp::Easy request; - - // Request settings. - request.setOpt( - new curlpp::options::CustomRequest{http::MethodToString(method)}); - std::string urlstring = url.String(); - request.setOpt(new curlpp::Options::Url(urlstring)); - if (debug) request.setOpt(new curlpp::Options::Verbose(true)); - if (ignore_cert_check) { - request.setOpt(new curlpp::Options::SslVerifyPeer(false)); - } - - utils::CharBuffer charbuf((char *)body.data(), body.size()); - std::istream body_stream(&charbuf); - - switch (method) { - case Method::kHead: - request.setOpt(new curlpp::options::NoBody(true)); - break; - case Method::kPut: - case Method::kPost: - if (!headers.Contains("Content-Length")) { - headers.Add("Content-Length", std::to_string(body.size())); - } - request.setOpt(new curlpp::Options::ReadStream(&body_stream)); - request.setOpt(new curlpp::Options::InfileSize(body.size())); - request.setOpt(new curlpp::Options::Upload(true)); - break; - } - - std::list headerlist = headers.ToHttpHeaders(); - headerlist.push_back("Expect:"); // Disable 100 continue from server. - request.setOpt(new curlpp::Options::HttpHeader(headerlist)); - - // Response settings. - request.setOpt(new curlpp::options::Header(true)); - - Response response; - response.data_callback = data_callback; - response.user_arg = user_arg; - - using namespace std::placeholders; - request.setOpt(new curlpp::options::WriteFunction( - std::bind(&Response::ResponseCallback, &response, &request, _1, _2, _3))); - - // Execute. - request.perform(); - - return response; -} - -minio::http::Response minio::http::Request::Execute() { - try { - return execute(); - } catch (curlpp::LogicError &e) { - Response response; - response.error = std::string("curlpp::LogicError: ") + e.what(); - return response; - } catch (curlpp::RuntimeError &e) { - Response response; - response.error = std::string("curlpp::RuntimeError: ") + e.what(); - return response; - } -} diff --git a/src/request-builder.cc b/src/request-builder.cc deleted file mode 100644 index 0eae662..0000000 --- a/src/request-builder.cc +++ /dev/null @@ -1,117 +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" - -minio::s3::RequestBuilder::RequestBuilder(http::Method httpmethod, - std::string regionvalue, - http::BaseUrl& baseurl) - : method(httpmethod), region(regionvalue), base_url(baseurl) {} - -void minio::s3::RequestBuilder::BuildHeaders(utils::Url& url, - creds::Provider* provider) { - headers.Add("Host", url.host); - - if (user_agent.empty()) { - headers.Add("User-Agent", "MinIO (Linux; x86_64) minio-cpp/0.1.0"); - } else { - headers.Add("User-Agent", user_agent); - } - - bool md5sum_added = headers.Contains("Content-MD5"); - std::string md5sum; - - switch (method) { - case http::Method::kPut: - case http::Method::kPost: - headers.Add("Content-Length", std::to_string(body.size())); - if (!headers.Contains("Content-Type")) { - headers.Add("Content-Type", "application/octet-stream"); - } - } - - // MD5 hash of zero length byte array. - // public static final String ZERO_MD5_HASH = "1B2M2Y8AsgTpgAmY7PhCfg=="; - - if (provider != NULL) { - if (url.is_https) { - sha256 = "UNSIGNED-PAYLOAD"; - switch (method) { - case http::Method::kPut: - case http::Method::kPost: - if (!md5sum_added) { - md5sum = utils::Md5sumHash(body); - } - } - } else { - switch (method) { - case http::Method::kPut: - case http::Method::kPost: - sha256 = utils::Sha256Hash(body); - break; - default: - sha256 = - "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85" - "5"; - } - } - } else { - switch (method) { - case http::Method::kPut: - case http::Method::kPost: - if (!md5sum_added) { - md5sum = utils::Md5sumHash(body); - } - } - } - - if (!md5sum.empty()) headers.Add("Content-MD5", md5sum); - if (!sha256.empty()) headers.Add("x-amz-content-sha256", sha256); - - date = utils::Time::Now(); - headers.Add("x-amz-date", date.ToAmzDate()); - - if (provider != NULL) { - creds::Credentials creds = provider->Fetch(); - if (!creds.SessionToken().empty()) { - headers.Add("X-Amz-Security-Token", creds.SessionToken()); - } - signer::SignV4S3(method, url.path, region, headers, query_params, - creds.AccessKey(), creds.SecretKey(), sha256, date); - } -} - -minio::http::Request minio::s3::RequestBuilder::Build( - creds::Provider* provider) { - utils::Url url; - if (error::Error err = - base_url.BuildUrl(url, method, std::string(region), query_params, - bucket_name, object_name)) { - std::cerr << "failed to build url. error=" << err - << ". This should not happen" << std::endl; - std::terminate(); - } - BuildHeaders(url, provider); - - http::Request request(method, url); - request.body = body; - request.headers = headers; - request.data_callback = data_callback; - request.user_arg = user_arg; - request.debug = debug; - request.ignore_cert_check = ignore_cert_check; - - return request; -} diff --git a/src/response.cc b/src/response.cc deleted file mode 100644 index 7a543db..0000000 --- a/src/response.cc +++ /dev/null @@ -1,391 +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 "response.h" - -minio::s3::Response::Response() {} - -minio::s3::Response::Response(error::Error err) { error = err.String(); } - -minio::s3::Response::Response(const Response& response) { - status_code = response.status_code; - headers = response.headers; - data = response.data; - error = response.error; - code = response.code; - message = response.message; - resource = response.resource; - request_id = response.request_id; - host_id = response.host_id; - bucket_name = response.bucket_name; - object_name = response.object_name; -} - -std::string minio::s3::Response::GetError() { - if (!error.empty()) return error; - if (!code.empty()) return code + ": " + message; - if (status_code && (status_code < 200 || status_code > 299)) { - return "failed with HTTP status code " + std::to_string(status_code); - } - return ""; -} - -minio::s3::Response minio::s3::Response::ParseXML(std::string_view data, - int status_code, - utils::Multimap headers) { - minio::s3::Response resp; - resp.status_code = status_code; - resp.headers = headers; - - pugi::xml_document xdoc; - pugi::xml_parse_result result = xdoc.load_string(data.data()); - if (!result) { - resp.error = "unable to parse XML; " + std::string(data); - return resp; - } - - auto root = xdoc.select_node("/Error"); - pugi::xpath_node text; - - text = root.node().select_node("Code/text()"); - resp.code = text.node().value(); - - text = root.node().select_node("Message/text()"); - resp.message = text.node().value(); - - text = root.node().select_node("Resource/text()"); - resp.resource = text.node().value(); - - text = root.node().select_node("RequestId/text()"); - resp.request_id = text.node().value(); - - text = root.node().select_node("HostId/text()"); - resp.host_id = text.node().value(); - - text = root.node().select_node("BucketName/text()"); - resp.bucket_name = text.node().value(); - - text = root.node().select_node("Key/text()"); - resp.object_name = text.node().value(); - - return resp; -} - -minio::s3::GetRegionResponse::GetRegionResponse(std::string regionvalue) { - region = regionvalue; -} - -minio::s3::GetRegionResponse::GetRegionResponse(error::Error err) - : Response(err) {} - -minio::s3::GetRegionResponse::GetRegionResponse(const Response& response) - : Response(response) {} - -minio::s3::ListBucketsResponse::ListBucketsResponse( - std::list bucketlist) { - buckets = bucketlist; -} - -minio::s3::ListBucketsResponse::ListBucketsResponse(error::Error err) - : Response(err) {} - -minio::s3::ListBucketsResponse::ListBucketsResponse(const Response& response) - : Response(response) {} - -minio::s3::ListBucketsResponse minio::s3::ListBucketsResponse::ParseXML( - std::string_view data) { - std::list buckets; - - pugi::xml_document xdoc; - pugi::xml_parse_result result = xdoc.load_string(data.data()); - if (!result) return error::Error("unable to parse XML"); - pugi::xpath_node_set xnodes = - xdoc.select_nodes("/ListAllMyBucketsResult/Buckets/Bucket"); - for (auto xnode : xnodes) { - std::string name; - utils::Time creation_date; - if (auto node = xnode.node().select_node("Name/text()").node()) { - name = node.value(); - } - if (auto node = xnode.node().select_node("CreationDate/text()").node()) { - std::string value = node.value(); - creation_date = utils::Time::FromISO8601UTC(value.c_str()); - } - - buckets.push_back(Bucket{name, creation_date}); - } - - return buckets; -} - -minio::s3::BucketExistsResponse::BucketExistsResponse(bool existflag) { - exist = existflag; -} - -minio::s3::BucketExistsResponse::BucketExistsResponse(error::Error err) - : Response(err) {} - -minio::s3::BucketExistsResponse::BucketExistsResponse(const Response& response) - : Response(response) {} - -minio::s3::CompleteMultipartUploadResponse::CompleteMultipartUploadResponse() {} - -minio::s3::CompleteMultipartUploadResponse::CompleteMultipartUploadResponse( - error::Error err) - : Response(err) {} - -minio::s3::CompleteMultipartUploadResponse::CompleteMultipartUploadResponse( - const Response& response) - : Response(response) {} - -minio::s3::CompleteMultipartUploadResponse -minio::s3::CompleteMultipartUploadResponse::ParseXML(std::string_view data, - std::string version_id) { - CompleteMultipartUploadResponse resp; - - pugi::xml_document xdoc; - pugi::xml_parse_result result = xdoc.load_string(data.data()); - if (!result) return error::Error("unable to parse XML"); - - auto root = xdoc.select_node("/CompleteMultipartUploadOutput"); - - pugi::xpath_node text; - - text = root.node().select_node("Bucket/text()"); - resp.bucket_name = text.node().value(); - - text = root.node().select_node("Key/text()"); - resp.object_name = text.node().value(); - - text = root.node().select_node("Location/text()"); - resp.location = text.node().value(); - - text = root.node().select_node("ETag/text()"); - resp.etag = utils::Trim(text.node().value(), '"'); - - resp.version_id = version_id; - - return resp; -} - -minio::s3::CreateMultipartUploadResponse::CreateMultipartUploadResponse( - std::string uploadid) { - upload_id = uploadid; -} - -minio::s3::CreateMultipartUploadResponse::CreateMultipartUploadResponse( - error::Error err) - : Response(err) {} - -minio::s3::CreateMultipartUploadResponse::CreateMultipartUploadResponse( - const Response& response) - : Response(response) {} - -minio::s3::PutObjectResponse::PutObjectResponse() {} - -minio::s3::PutObjectResponse::PutObjectResponse(const Response& response) - : Response(response) {} - -minio::s3::PutObjectResponse::PutObjectResponse(error::Error err) - : Response(err) {} - -minio::s3::StatObjectResponse::StatObjectResponse() {} - -minio::s3::StatObjectResponse::StatObjectResponse(error::Error err) - : Response(err) {} - -minio::s3::StatObjectResponse::StatObjectResponse(const Response& response) - : Response(response) {} - -minio::s3::Item::Item() {} - -minio::s3::Item::Item(error::Error err) : Response(err) {} - -minio::s3::Item::Item(const Response& response) : Response(response) {} - -minio::s3::ListObjectsResponse::ListObjectsResponse() {} - -minio::s3::ListObjectsResponse::ListObjectsResponse(error::Error err) - : Response(err) {} - -minio::s3::ListObjectsResponse::ListObjectsResponse(const Response& response) - : Response(response) {} - -minio::s3::ListObjectsResponse minio::s3::ListObjectsResponse::ParseXML( - std::string_view data, bool version) { - ListObjectsResponse resp; - - pugi::xml_document xdoc; - pugi::xml_parse_result result = xdoc.load_string(data.data()); - if (!result) return error::Error("unable to parse XML"); - - std::string xpath = version ? "/ListVersionsResult" : "/ListBucketResult"; - - auto root = xdoc.select_node(xpath.c_str()); - - pugi::xpath_node text; - std::string value; - - text = root.node().select_node("Name/text()"); - resp.name = text.node().value(); - - text = root.node().select_node("EncodingType/text()"); - resp.encoding_type = text.node().value(); - - text = root.node().select_node("Prefix/text()"); - value = text.node().value(); - resp.prefix = (resp.encoding_type == "url") ? curlpp::unescape(value) : value; - - text = root.node().select_node("Delimiter/text()"); - resp.delimiter = text.node().value(); - - text = root.node().select_node("IsTruncated/text()"); - value = text.node().value(); - if (!value.empty()) resp.is_truncated = utils::StringToBool(value); - - text = root.node().select_node("MaxKeys/text()"); - value = text.node().value(); - if (!value.empty()) resp.max_keys = std::stoi(value); - - // ListBucketResult V1 - { - text = root.node().select_node("Marker/text()"); - value = text.node().value(); - resp.marker = - (resp.encoding_type == "url") ? curlpp::unescape(value) : value; - - text = root.node().select_node("NextMarker/text()"); - value = text.node().value(); - resp.next_marker = - (resp.encoding_type == "url") ? curlpp::unescape(value) : value; - } - - // ListBucketResult V2 - { - text = root.node().select_node("KeyCount/text()"); - value = text.node().value(); - if (!value.empty()) resp.key_count = std::stoi(value); - - text = root.node().select_node("StartAfter/text()"); - value = text.node().value(); - resp.start_after = - (resp.encoding_type == "url") ? curlpp::unescape(value) : value; - - text = root.node().select_node("ContinuationToken/text()"); - resp.continuation_token = text.node().value(); - - text = root.node().select_node("NextContinuationToken/text()"); - resp.next_continuation_token = text.node().value(); - } - - // ListVersionsResult - { - text = root.node().select_node("KeyMarker/text()"); - value = text.node().value(); - resp.key_marker = - (resp.encoding_type == "url") ? curlpp::unescape(value) : value; - - text = root.node().select_node("NextKeyMarker/text()"); - value = text.node().value(); - resp.next_key_marker = - (resp.encoding_type == "url") ? curlpp::unescape(value) : value; - - text = root.node().select_node("VersionIdMarker/text()"); - resp.version_id_marker = text.node().value(); - - text = root.node().select_node("NextVersionIdMarker/text()"); - resp.next_version_id_marker = text.node().value(); - } - - Item last_item; - - auto populate = [&resp = resp, &last_item = last_item]( - std::list& items, pugi::xpath_node_set& contents, - bool is_delete_marker) -> void { - for (auto content : contents) { - pugi::xpath_node text; - std::string value; - Item item; - - text = content.node().select_node("ETag/text()"); - item.etag = utils::Trim(text.node().value(), '"'); - - text = content.node().select_node("Key/text()"); - value = text.node().value(); - item.name = - (resp.encoding_type == "url") ? curlpp::unescape(value) : value; - - text = content.node().select_node("LastModified/text()"); - value = text.node().value(); - item.last_modified = utils::Time::FromISO8601UTC(value.c_str()); - - text = content.node().select_node("Owner/ID/text()"); - item.owner_id = text.node().value(); - - text = content.node().select_node("Owner/DisplayName/text()"); - item.owner_name = text.node().value(); - - text = content.node().select_node("Size/text()"); - value = text.node().value(); - if (!value.empty()) item.size = std::stoi(value); - - text = content.node().select_node("StorageClass/text()"); - item.storage_class = text.node().value(); - - text = content.node().select_node("IsLatest/text()"); - value = text.node().value(); - if (!value.empty()) item.is_latest = utils::StringToBool(value); - - text = content.node().select_node("VersionId/text()"); - item.version_id = text.node().value(); - - auto user_metadata = content.node().select_node("UserMetadata"); - for (auto metadata = user_metadata.node().first_child(); metadata; - metadata = metadata.next_sibling()) { - item.user_metadata[metadata.name()] = metadata.child_value(); - } - - item.is_delete_marker = is_delete_marker; - - items.push_back(item); - last_item = item; - } - }; - - auto contents = root.node().select_nodes(version ? "Version" : "Contents"); - populate(resp.contents, contents, false); - // Only for ListObjectsV1. - if (resp.is_truncated && resp.next_marker.empty()) { - resp.next_marker = last_item.name; - } - - auto common_prefixes = root.node().select_nodes("CommonPrefixes"); - for (auto common_prefix : common_prefixes) { - Item item; - - text = common_prefix.node().select_node("Prefix/text()"); - value = text.node().value(); - item.name = (resp.encoding_type == "url") ? curlpp::unescape(value) : value; - - item.is_prefix = true; - - resp.contents.push_back(item); - } - - auto delete_markers = root.node().select_nodes("DeleteMarker"); - populate(resp.contents, delete_markers, true); - - return resp; -} diff --git a/src/signer.cc b/src/signer.cc deleted file mode 100644 index b462fdd..0000000 --- a/src/signer.cc +++ /dev/null @@ -1,146 +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 "signer.h" - -const char* SIGN_V4_ALGORITHM = "AWS4-HMAC-SHA256"; -const std::regex MULTI_SPACE_REGEX("( +)"); - -std::string minio::signer::GetScope(utils::Time& time, std::string_view region, - std::string_view service_name) { - return time.ToSignerDate() + "/" + std::string(region) + "/" + - std::string(service_name) + "/aws4_request"; -} - -std::string minio::signer::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) { - // CanonicalRequest = - // HTTPRequestMethod + '\n' + - // CanonicalURI + '\n' + - // CanonicalQueryString + '\n' + - // CanonicalHeaders + '\n\n' + - // SignedHeaders + '\n' + - // HexEncode(Hash(RequestPayload)) - std::string canonical_request = - std::string(method) + "\n" + std::string(uri) + "\n" + - std::string(query_string) + "\n" + std::string(headers) + "\n\n" + - std::string(signed_headers) + "\n" + std::string(content_sha256); - return utils::Sha256Hash(canonical_request); -} - -std::string minio::signer::GetStringToSign( - utils::Time& date, std::string_view scope, - std::string_view canonical_request_hash) { - return "AWS4-HMAC-SHA256\n" + date.ToAmzDate() + "\n" + std::string(scope) + - "\n" + std::string(canonical_request_hash); -} - -std::string minio::signer::HmacHash(std::string_view key, - std::string_view data) { - std::array hash; - unsigned int hash_len; - - HMAC(EVP_sha256(), key.data(), static_cast(key.size()), - reinterpret_cast(data.data()), - static_cast(data.size()), hash.data(), &hash_len); - - return std::string{reinterpret_cast(hash.data()), hash_len}; -} - -std::string minio::signer::GetSigningKey(std::string_view secret_key, - utils::Time& date, - std::string_view region, - std::string_view service_name) { - std::string date_key = - HmacHash("AWS4" + std::string(secret_key), date.ToSignerDate()); - std::string date_regionkey = HmacHash(date_key, region); - std::string date_regionservice_key = HmacHash(date_regionkey, service_name); - return HmacHash(date_regionservice_key, "aws4_request"); -} - -std::string minio::signer::GetSignature(std::string_view signing_key, - std::string_view string_to_sign) { - std::string hash = HmacHash(signing_key, string_to_sign); - std::string signature; - char buf[3]; - for (int i = 0; i < hash.size(); ++i) { - sprintf(buf, "%02x", (unsigned char)hash[i]); - signature += buf; - } - return signature; -} - -std::string minio::signer::GetAuthorization(std::string_view access_key, - std::string_view scope, - std::string_view signed_headers, - std::string_view signature) { - return "AWS4-HMAC-SHA256 Credential=" + std::string(access_key) + "/" + - std::string(scope) + ", " + - "SignedHeaders=" + std::string(signed_headers) + ", " + - "Signature=" + std::string(signature); -} - -minio::utils::Multimap& minio::signer::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) { - std::string scope = GetScope(date, region, service_name); - - std::string signed_headers; - std::string canonical_headers; - headers.GetCanonicalHeaders(signed_headers, canonical_headers); - - std::string canonical_query_string = query_params.GetCanonicalQueryString(); - - std::string canonical_request_hash = GetCanonicalRequestHash( - http::MethodToString(method), uri, canonical_query_string, - canonical_headers, signed_headers, content_sha256); - - std::string string_to_sign = - GetStringToSign(date, scope, canonical_request_hash); - - std::string signing_key = - GetSigningKey(secret_key, date, region, service_name); - - std::string signature = GetSignature(signing_key, string_to_sign); - - std::string authorization = - GetAuthorization(access_key, scope, signed_headers, signature); - - headers.Add("Authorization", authorization); - return headers; -} - -minio::utils::Multimap& minio::signer::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) { - return SignV4("s3", method, uri, region, headers, query_params, access_key, - secret_key, content_sha256, date); -} - -minio::utils::Multimap& minio::signer::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) { - return SignV4("sts", method, uri, region, headers, query_params, access_key, - secret_key, content_sha256, date); -} diff --git a/src/sse.cc b/src/sse.cc deleted file mode 100644 index edf0990..0000000 --- a/src/sse.cc +++ /dev/null @@ -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 "sse.h" - -minio::s3::SseCustomerKey::SseCustomerKey(std::string_view key) { - std::string b64key = utils::Base64Encode(key); - std::string md5key = utils::Md5sumHash(key); - - headers.Add("X-Amz-Server-Side-Encryption-Customer-Algorithm", "AES256"); - headers.Add("X-Amz-Server-Side-Encryption-Customer-Key", b64key); - headers.Add("X-Amz-Server-Side-Encryption-Customer-Key-MD5", md5key); - - copy_headers.Add( - "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Algorithm", "AES256"); - copy_headers.Add("X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key", - b64key); - copy_headers.Add("X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key-MD5", - md5key); -} - -minio::s3::SseKms::SseKms(std::string_view key, std::string_view context) { - headers.Add("X-Amz-Server-Side-Encryption-Aws-Kms-Key-Id", std::string(key)); - headers.Add("X-Amz-Server-Side-Encryption", "aws:kms"); - if (!context.empty()) { - headers.Add("X-Amz-Server-Side-Encryption-Context", - utils::Base64Encode(context)); - } -} - -minio::s3::SseS3::SseS3() { - headers.Add("X-Amz-Server-Side-Encryption", "AES256"); -} diff --git a/src/types.cc b/src/types.cc deleted file mode 100644 index 81dfa81..0000000 --- a/src/types.cc +++ /dev/null @@ -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 "types.h" - -minio::s3::RetentionMode minio::s3::StringToRetentionMode( - std::string_view str) throw() { - if (str == "GOVERNANCE") return RetentionMode::kGovernance; - if (str == "COMPLIANCE") return RetentionMode::kCompliance; - - std::cerr << "ABORT: Unknown retention mode. This should not happen." - << std::endl; - std::terminate(); - - return RetentionMode::kGovernance; // never reaches here. -} - -minio::s3::LegalHold minio::s3::StringToLegalHold( - std::string_view str) throw() { - if (str == "ON") return LegalHold::kOn; - if (str == "OFF") return LegalHold::kOff; - - std::cerr << "ABORT: Unknown legal hold. This should not happen." - << std::endl; - std::terminate(); - - return LegalHold::kOff; // never reaches here. -} - -minio::s3::Directive minio::s3::StringToDirective( - std::string_view str) throw() { - if (str == "COPY") return Directive::kCopy; - if (str == "REPLACE") return Directive::kReplace; - - std::cerr << "ABORT: Unknown directive. This should not happen." << std::endl; - std::terminate(); - - return Directive::kCopy; // never reaches here. -} diff --git a/src/utils.cc b/src/utils.cc deleted file mode 100644 index 2f0314f..0000000 --- a/src/utils.cc +++ /dev/null @@ -1,514 +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 "utils.h" - -#include - -const char* HTTP_HEADER_FORMAT = "%a, %d %b %Y %H:%M:%S GMT"; -const std::regex MULTI_SPACE_REGEX("( +)"); -const std::regex VALID_BUCKET_NAME_REGEX( - "^[A-Za-z0-9][A-Za-z0-9\\.\\-\\_\\:]{1,61}[A-Za-z0-9]$"); -const std::regex VALID_BUCKET_NAME_STRICT_REGEX( - "^[a-z0-9][a-z0-9\\.\\-]{1,61}[a-z0-9]$"); -const std::regex VALID_IP_ADDR_REGEX("^(\\d+\\.){3}\\d+$"); - -bool minio::utils::StringToBool(std::string_view str) { - std::string s = ToLower(std::string(str)); - if (s == "false") return false; - if (s == "true") return true; - - std::cerr << "ABORT: Unknown bool string. This should not happen." - << std::endl; - std::terminate(); - - return false; -} - -std::string minio::utils::Trim(std::string_view str, char ch) { - int start, len; - for (start = 0; start < str.size() && str[start] == ch; start++) - ; - for (len = str.size() - start; len > 0 && str[start + len - 1] == ch; len--) - ; - return std::string(str.substr(start, len)); -} - -bool minio::utils::CheckNonEmptyString(std::string_view str) { - return !str.empty() && Trim(str) == str; -} - -std::string minio::utils::ToLower(std::string str) { - std::string s = str; - std::transform(s.begin(), s.end(), s.begin(), ::tolower); - return s; -} - -bool minio::utils::StartsWith(std::string_view str, std::string_view prefix) { - return (str.size() >= prefix.size() && - str.compare(0, prefix.size(), prefix) == 0); -} - -bool minio::utils::EndsWith(std::string_view str, std::string_view suffix) { - return (str.size() >= suffix.size() && - str.compare(str.size() - suffix.size(), suffix.size(), suffix) == 0); -} - -bool minio::utils::Contains(std::string_view str, char ch) { - return str.find(ch) != std::string::npos; -} - -bool minio::utils::Contains(std::string_view str, std::string_view substr) { - return str.find(substr) != std::string::npos; -} - -std::string minio::utils::Join(std::list values, - std::string delimiter) { - std::string result; - for (const auto& value : values) { - if (!result.empty()) result += delimiter; - result += value; - } - return result; -} - -std::string minio::utils::Join(std::vector values, - std::string delimiter) { - std::string result; - for (const auto& value : values) { - if (!result.empty()) result += delimiter; - result += value; - } - return result; -} - -std::string minio::utils::EncodePath(std::string_view path) { - std::stringstream str_stream{std::string(path)}; - std::string token; - std::string out; - while (std::getline(str_stream, token, '/')) { - if (!token.empty()) { - if (!out.empty()) out += "/"; - out += curlpp::escape(token); - } - } - - if (*(path.begin()) == '/') out = "/" + out; - if (*(path.end() - 1) == '/' && out != "/") out += "/"; - - return out; -} - -std::string minio::utils::Sha256Hash(std::string_view str) { - EVP_MD_CTX* ctx = EVP_MD_CTX_create(); - if (ctx == NULL) { - std::cerr << "failed to create EVP_MD_CTX" << std::endl; - std::terminate(); - } - - if (1 != EVP_DigestInit_ex(ctx, EVP_sha256(), NULL)) { - std::cerr << "failed to init SHA-256 digest" << std::endl; - std::terminate(); - } - - if (1 != EVP_DigestUpdate(ctx, str.data(), str.size())) { - std::cerr << "failed to update digest" << std::endl; - std::terminate(); - } - - unsigned int length = EVP_MD_size(EVP_sha256()); - unsigned char* digest = (unsigned char*)OPENSSL_malloc(length); - if (digest == NULL) { - std::cerr << "failed to allocate memory for hash value" << std::endl; - std::terminate(); - } - - if (1 != EVP_DigestFinal_ex(ctx, digest, &length)) { - OPENSSL_free(digest); - std::cerr << "failed to finalize digest" << std::endl; - std::terminate(); - } - - EVP_MD_CTX_destroy(ctx); - - std::string hash; - char buf[3]; - for (int i = 0; i < length; ++i) { - sprintf(buf, "%02x", digest[i]); - hash += buf; - } - - OPENSSL_free(digest); - - return hash; -} - -std::string minio::utils::Base64Encode(std::string_view str) { - const auto base64_memory = BIO_new(BIO_s_mem()); - auto base64 = BIO_new(BIO_f_base64()); - base64 = BIO_push(base64, base64_memory); - - BIO_write(base64, str.data(), str.size()); - BIO_flush(base64); - - BUF_MEM* buf_mem{}; - BIO_get_mem_ptr(base64, &buf_mem); - auto base64_encoded = std::string(buf_mem->data, buf_mem->length - 1); - - BIO_free_all(base64); - - return base64_encoded; -} - -std::string minio::utils::Md5sumHash(std::string_view str) { - EVP_MD_CTX* ctx = EVP_MD_CTX_create(); - if (ctx == NULL) { - std::cerr << "failed to create EVP_MD_CTX" << std::endl; - std::terminate(); - } - - if (1 != EVP_DigestInit_ex(ctx, EVP_md5(), NULL)) { - std::cerr << "failed to init MD5 digest" << std::endl; - std::terminate(); - } - - if (1 != EVP_DigestUpdate(ctx, str.data(), str.size())) { - std::cerr << "failed to update digest" << std::endl; - std::terminate(); - } - - unsigned int length = EVP_MD_size(EVP_md5()); - unsigned char* digest = (unsigned char*)OPENSSL_malloc(length); - if (digest == NULL) { - std::cerr << "failed to allocate memory for hash value" << std::endl; - std::terminate(); - } - - if (1 != EVP_DigestFinal_ex(ctx, digest, &length)) { - OPENSSL_free(digest); - std::cerr << "failed to finalize digest" << std::endl; - std::terminate(); - } - - EVP_MD_CTX_destroy(ctx); - - std::string hash = std::string((const char*)digest, length); - OPENSSL_free(digest); - - return minio::utils::Base64Encode(hash); -} - -std::string minio::utils::FormatTime(const std::tm* time, const char* format) { - char buf[128]; - std::strftime(buf, 128, format, time); - return std::string(buf); -} - -minio::utils::Time::Time() { - tv_.tv_sec = 0; - tv_.tv_usec = 0; -} - -minio::utils::Time::Time(std::time_t tv_sec, suseconds_t tv_usec, bool utc) { - tv_.tv_sec = tv_sec; - tv_.tv_usec = tv_usec; - utc_ = utc; -} - -std::tm* minio::utils::Time::ToUTC() { - std::tm* t = new std::tm; - *t = utc_ ? *std::localtime(&tv_.tv_sec) : *std::gmtime(&tv_.tv_sec); - return t; -} - -std::string minio::utils::Time::ToSignerDate() { - std::tm* utc = ToUTC(); - std::string result = FormatTime(utc, "%Y%m%d"); - delete utc; - return result; -} - -std::string minio::utils::Time::ToAmzDate() { - std::tm* utc = ToUTC(); - std::string result = FormatTime(utc, "%Y%m%dT%H%M%SZ"); - delete utc; - return result; -} - -std::string minio::utils::Time::ToHttpHeaderValue() { - std::tm* utc = ToUTC(); - std::locale("C"); - std::string result = FormatTime(utc, HTTP_HEADER_FORMAT); - std::locale(""); - delete utc; - return result; -} - -minio::utils::Time minio::utils::Time::FromHttpHeaderValue(const char* value) { - std::tm t{0}; - std::locale("C"); - strptime(value, HTTP_HEADER_FORMAT, &t); - std::locale(""); - std::time_t time = std::mktime(&t); - return Time(time, 0, true); -} - -std::string minio::utils::Time::ToISO8601UTC() { - char buf[64]; - snprintf(buf, 64, "%03d", tv_.tv_usec); - std::string usec_str(buf); - if (usec_str.size() > 3) usec_str = usec_str.substr(0, 3); - std::tm* utc = ToUTC(); - std::string result = FormatTime(utc, "%Y-%m-%dT%H:%M:%S.") + usec_str + "Z"; - delete utc; - return result; -} - -minio::utils::Time minio::utils::Time::FromISO8601UTC(const char* value) { - std::tm t{0}; - suseconds_t tv_usec = 0; - char* rv = strptime(value, "%Y-%m-%dT%H:%M:%S", &t); - sscanf(rv, ".%u", &tv_usec); - std::time_t time = std::mktime(&t); - return Time(time, tv_usec, true); -} - -minio::utils::Time minio::utils::Time::Now() { - Time t; - gettimeofday(&t.tv_, NULL); - t.utc_ = false; - return t; -} - -minio::utils::Multimap::Multimap() {} - -minio::utils::Multimap::Multimap(const Multimap& headers) { - this->AddAll(headers); -} - -void minio::utils::Multimap::Add(std::string key, std::string value) { - map_[key].insert(value); - keys_[ToLower(key)].insert(key); -} - -void minio::utils::Multimap::AddAll(const Multimap& headers) { - auto m = headers.map_; - for (auto& [key, values] : m) { - map_[key].insert(values.begin(), values.end()); - keys_[ToLower(key)].insert(key); - } -} - -std::list minio::utils::Multimap::ToHttpHeaders() { - std::list headers; - for (auto& [key, values] : map_) { - for (auto& value : values) { - headers.push_back(key + ": " + value); - } - } - return headers; -} - -std::string minio::utils::Multimap::ToQueryString() { - std::string query_string; - for (auto& [key, values] : map_) { - for (auto& value : values) { - std::string s = curlpp::escape(key) + "=" + curlpp::escape(value); - if (!query_string.empty()) query_string += "&"; - query_string += s; - } - } - return query_string; -} - -bool minio::utils::Multimap::Contains(std::string_view key) { - return keys_.find(ToLower(std::string(key))) != keys_.end(); -} - -std::list minio::utils::Multimap::Get(std::string_view key) { - std::list result; - std::set keys = keys_[ToLower(std::string(key))]; - for (auto& key : keys) { - std::set values = map_[key]; - result.insert(result.end(), values.begin(), values.end()); - } - return result; -} - -std::string minio::utils::Multimap::GetFront(std::string_view key) { - std::list values = Get(key); - return (values.size() > 0) ? values.front() : ""; -} - -std::list minio::utils::Multimap::Keys() { - std::list keys; - for (const auto& [key, _] : keys_) keys.push_back(key); - return keys; -} - -void minio::utils::Multimap::GetCanonicalHeaders( - std::string& signed_headers, std::string& canonical_headers) { - std::vector signed_headerslist; - std::map map; - - for (auto& [k, values] : map_) { - std::string key = ToLower(k); - if ("authorization" == key || "user-agent" == key) continue; - if (std::find(signed_headerslist.begin(), signed_headerslist.end(), key) == - signed_headerslist.end()) { - signed_headerslist.push_back(key); - } - - std::string value; - for (auto& v : values) { - if (!value.empty()) value += ","; - value += std::regex_replace(v, MULTI_SPACE_REGEX, " "); - } - - map[key] = value; - } - - std::sort(signed_headerslist.begin(), signed_headerslist.end()); - signed_headers = utils::Join(signed_headerslist, ";"); - - std::vector canonical_headerslist; - for (auto& [key, value] : map) { - canonical_headerslist.push_back(key + ":" + value); - } - - std::sort(canonical_headerslist.begin(), canonical_headerslist.end()); - canonical_headers = utils::Join(canonical_headerslist, "\n"); -} - -std::string minio::utils::Multimap::GetCanonicalQueryString() { - std::vector values; - for (auto& [key, vals] : map_) { - for (auto& value : vals) { - std::string s = curlpp::escape(key) + "=" + curlpp::escape(value); - values.push_back(s); - } - } - - std::sort(values.begin(), values.end()); - return utils::Join(values, "&"); -} - -std::string minio::utils::Url::String() { - if (host.empty()) return ""; - - std::string url = (is_https ? "https://" : "http://") + host; - - if (!path.empty()) { - if (*(path.begin()) != '/') url += "/"; - url += path; - } - - if (!query_string.empty()) url += "?" + query_string; - - return url; -} - -minio::error::Error minio::utils::CheckBucketName(std::string_view bucket_name, - bool strict) { - if (Trim(bucket_name).empty()) { - return error::Error("bucket name cannot be empty"); - } - - if (bucket_name.length() < 3) { - return error::Error("bucket name cannot be less than 3 characters"); - } - - if (bucket_name.length() > 63) { - return error::Error("Bucket name cannot be greater than 63 characters"); - } - - if (std::regex_match(bucket_name.data(), VALID_IP_ADDR_REGEX)) { - return error::Error("bucket name cannot be an IP address"); - } - - // unallowed successive characters check. - if (Contains(bucket_name, "..") || Contains(bucket_name, ".-") || - Contains(bucket_name, "-.")) { - return error::Error( - "Bucket name contains invalid successive characters '..', '.-' or " - "'-.'"); - } - - if (strict) { - if (!std::regex_match(bucket_name.data(), VALID_BUCKET_NAME_STRICT_REGEX)) { - return error::Error("bucket name does not follow S3 standards strictly"); - } - } else if (!std::regex_match(bucket_name.data(), VALID_BUCKET_NAME_REGEX)) { - return error::Error("bucket name does not follow S3 standards"); - } - - return error::SUCCESS; -} - -minio::error::Error minio::utils::ReadPart(std::istream& stream, char* buf, - size_t size, size_t& bytes_read) { - stream.read(buf, size); - bytes_read = stream.gcount(); - return minio::error::SUCCESS; -} - -minio::error::Error minio::utils::CalcPartInfo(long object_size, - size_t& part_size, - long& part_count) { - if (part_size > 0) { - if (part_size < kMinPartSize) { - return error::Error("part size " + std::to_string(part_size) + - " is not supported; minimum allowed 5MiB"); - } - - if (part_size > kMaxPartSize) { - return error::Error("part size " + std::to_string(part_size) + - " is not supported; maximum allowed 5GiB"); - } - } - - if (object_size >= 0) { - if (object_size > kMaxObjectSize) { - return error::Error("object size " + std::to_string(object_size) + - " is not supported; maximum allowed 5TiB"); - } - } else if (part_size <= 0) { - return error::Error( - "valid part size must be provided when object size is unknown"); - } - - if (object_size < 0) { - part_count = -1; - return error::SUCCESS; - } - - if (part_size <= 0) { - // Calculate part size by multiple of kMinPartSize. - double psize = std::ceil((double)object_size / kMaxMultipartCount); - part_size = (size_t)std::ceil(psize / kMinPartSize) * kMinPartSize; - } - - if (part_size > object_size) part_size = object_size; - part_count = - part_size > 0 ? (long)std::ceil((double)object_size / part_size) : 1; - if (part_count > kMaxMultipartCount) { - return error::Error( - "object size " + std::to_string(object_size) + " and part size " + - std::to_string(part_size) + " make more than " + - std::to_string(kMaxMultipartCount) + "parts for upload"); - } - - return error::SUCCESS; -} diff --git a/sse_8h_source.html b/sse_8h_source.html new file mode 100644 index 0000000..d0905eb --- /dev/null +++ b/sse_8h_source.html @@ -0,0 +1,150 @@ + + + + + + + +MinIO C++ SDK: /home/bala/devel/github.com/minio/minio-cpp/include/sse.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    sse.h
    +
    +
    +
    1 // MinIO C++ Library for Amazon S3 Compatible Cloud Storage
    +
    2 // Copyright 2022 MinIO, Inc.
    +
    3 //
    +
    4 // Licensed under the Apache License, Version 2.0 (the "License");
    +
    5 // you may not use this file except in compliance with the License.
    +
    6 // You may obtain a copy of the License at
    +
    7 //
    +
    8 // http://www.apache.org/licenses/LICENSE-2.0
    +
    9 //
    +
    10 // Unless required by applicable law or agreed to in writing, software
    +
    11 // distributed under the License is distributed on an "AS IS" BASIS,
    +
    12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +
    13 // See the License for the specific language governing permissions and
    +
    14 // limitations under the License.
    +
    15 
    +
    16 #ifndef _MINIO_S3_SSE_H
    +
    17 #define _MINIO_S3_SSE_H
    +
    18 
    +
    19 #include "utils.h"
    +
    20 
    +
    21 namespace minio {
    +
    22 namespace s3 {
    +
    23 class Sse {
    +
    24  public:
    +
    25  utils::Multimap empty_;
    +
    26 
    +
    27  public:
    +
    28  Sse() {}
    +
    29  virtual ~Sse() {}
    +
    30  bool TlsRequired() { return true; }
    +
    31  utils::Multimap CopyHeaders() { return empty_; }
    +
    32  virtual utils::Multimap Headers() = 0;
    +
    33 }; // class Sse
    +
    34 
    +
    35 class SseCustomerKey : public Sse {
    +
    36  private:
    +
    37  utils::Multimap headers;
    +
    38  utils::Multimap copy_headers;
    +
    39 
    +
    40  public:
    +
    41  SseCustomerKey(std::string_view key);
    +
    42  utils::Multimap Headers() { return headers; }
    +
    43  utils::Multimap CopyHeaders() { return copy_headers; }
    +
    44 }; // class SseCustomerKey
    +
    45 
    +
    46 class SseKms : public Sse {
    +
    47  private:
    +
    48  utils::Multimap headers;
    +
    49 
    +
    50  public:
    +
    51  SseKms(std::string_view key, std::string_view context);
    +
    52  utils::Multimap Headers() { return headers; }
    +
    53 }; // class SseKms
    +
    54 
    +
    55 class SseS3 : public Sse {
    +
    56  private:
    +
    57  utils::Multimap headers;
    +
    58 
    +
    59  public:
    +
    60  SseS3();
    +
    61  utils::Multimap Headers() { return headers; }
    +
    62  bool TlsRequired() { return false; }
    +
    63 }; // class SseS3
    +
    64 } // namespace s3
    +
    65 } // namespace minio
    +
    66 
    +
    67 #endif // #ifndef __MINIO_S3_SSE_H
    +
    Definition: sse.h:35
    +
    Definition: sse.h:46
    +
    Definition: sse.h:55
    +
    Definition: sse.h:23
    +
    Definition: utils.h:119
    +
    + + + + diff --git a/structminio_1_1http_1_1BaseUrl-members.html b/structminio_1_1http_1_1BaseUrl-members.html new file mode 100644 index 0000000..9b051a8 --- /dev/null +++ b/structminio_1_1http_1_1BaseUrl-members.html @@ -0,0 +1,93 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::http::BaseUrl Member List
    +
    +
    + +

    This is the complete list of members for minio::http::BaseUrl, including all inherited members.

    + + + + + + + + + + + + + +
    accelerate_host (defined in minio::http::BaseUrl)minio::http::BaseUrl
    aws_host (defined in minio::http::BaseUrl)minio::http::BaseUrl
    BuildUrl(utils::Url &url, Method method, std::string region, utils::Multimap query_params, std::string bucket_name="", std::string object_name="") (defined in minio::http::BaseUrl)minio::http::BaseUrl
    dualstack_host (defined in minio::http::BaseUrl)minio::http::BaseUrl
    GetHostHeaderValue() (defined in minio::http::BaseUrl)minio::http::BaseUrl
    host (defined in minio::http::BaseUrl)minio::http::BaseUrl
    is_https (defined in minio::http::BaseUrl)minio::http::BaseUrl
    operator bool() const (defined in minio::http::BaseUrl)minio::http::BaseUrlinline
    port (defined in minio::http::BaseUrl)minio::http::BaseUrl
    region (defined in minio::http::BaseUrl)minio::http::BaseUrl
    SetHost(std::string hostvalue) (defined in minio::http::BaseUrl)minio::http::BaseUrl
    virtual_style (defined in minio::http::BaseUrl)minio::http::BaseUrl
    + + + + diff --git a/structminio_1_1http_1_1BaseUrl.html b/structminio_1_1http_1_1BaseUrl.html new file mode 100644 index 0000000..df2575c --- /dev/null +++ b/structminio_1_1http_1_1BaseUrl.html @@ -0,0 +1,129 @@ + + + + + + + +MinIO C++ SDK: minio::http::BaseUrl Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::http::BaseUrl Struct Reference
    +
    +
    + + + + + + + + + + +

    +Public Member Functions

    +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
     
    + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +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
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/http.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/http.cc
    • +
    +
    + + + + diff --git a/structminio_1_1http_1_1DataCallbackArgs-members.html b/structminio_1_1http_1_1DataCallbackArgs-members.html new file mode 100644 index 0000000..359b8ea --- /dev/null +++ b/structminio_1_1http_1_1DataCallbackArgs-members.html @@ -0,0 +1,87 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::http::DataCallbackArgs Member List
    +
    + + + + + diff --git a/structminio_1_1http_1_1DataCallbackArgs.html b/structminio_1_1http_1_1DataCallbackArgs.html new file mode 100644 index 0000000..aa2e006 --- /dev/null +++ b/structminio_1_1http_1_1DataCallbackArgs.html @@ -0,0 +1,106 @@ + + + + + + + +MinIO C++ SDK: minio::http::DataCallbackArgs Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::http::DataCallbackArgs Struct Reference
    +
    +
    + + + + + + + + + + + + + + +

    +Public Attributes

    +curlpp::Easy * handle = NULL
     
    +Responseresponse = NULL
     
    +char * buffer = NULL
     
    +size_t size = 0
     
    +size_t length = 0
     
    +void * user_arg = NULL
     
    +
    The documentation for this struct was generated from the following file:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/http.h
    • +
    +
    + + + + diff --git a/structminio_1_1http_1_1Request-members.html b/structminio_1_1http_1_1Request-members.html new file mode 100644 index 0000000..6f35f05 --- /dev/null +++ b/structminio_1_1http_1_1Request-members.html @@ -0,0 +1,92 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::http::Request Member List
    +
    +
    + +

    This is the complete list of members for minio::http::Request, including all inherited members.

    + + + + + + + + + + + + +
    body (defined in minio::http::Request)minio::http::Request
    data_callback (defined in minio::http::Request)minio::http::Request
    debug (defined in minio::http::Request)minio::http::Request
    Execute() (defined in minio::http::Request)minio::http::Request
    headers (defined in minio::http::Request)minio::http::Request
    ignore_cert_check (defined in minio::http::Request)minio::http::Request
    method (defined in minio::http::Request)minio::http::Request
    operator bool() const (defined in minio::http::Request)minio::http::Requestinline
    Request(Method httpmethod, utils::Url httpurl) (defined in minio::http::Request)minio::http::Request
    url (defined in minio::http::Request)minio::http::Request
    user_arg (defined in minio::http::Request)minio::http::Request
    + + + + diff --git a/structminio_1_1http_1_1Request.html b/structminio_1_1http_1_1Request.html new file mode 100644 index 0000000..dbd7e89 --- /dev/null +++ b/structminio_1_1http_1_1Request.html @@ -0,0 +1,126 @@ + + + + + + + +MinIO C++ SDK: minio::http::Request Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::http::Request Struct Reference
    +
    +
    + + + + + + + + +

    +Public Member Functions

    Request (Method httpmethod, utils::Url httpurl)
     
    +Response Execute ()
     
    operator bool () const
     
    + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +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
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/http.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/http.cc
    • +
    +
    + + + + diff --git a/structminio_1_1http_1_1Response-members.html b/structminio_1_1http_1_1Response-members.html new file mode 100644 index 0000000..7bc9bd8 --- /dev/null +++ b/structminio_1_1http_1_1Response-members.html @@ -0,0 +1,89 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::http::Response Member List
    +
    +
    + +

    This is the complete list of members for minio::http::Response, including all inherited members.

    + + + + + + + + + +
    body (defined in minio::http::Response)minio::http::Response
    data_callback (defined in minio::http::Response)minio::http::Response
    error (defined in minio::http::Response)minio::http::Response
    headers (defined in minio::http::Response)minio::http::Response
    operator bool() const (defined in minio::http::Response)minio::http::Responseinline
    ResponseCallback(curlpp::Easy *handle, char *buffer, size_t size, size_t length) (defined in minio::http::Response)minio::http::Response
    status_code (defined in minio::http::Response)minio::http::Response
    user_arg (defined in minio::http::Response)minio::http::Response
    + + + + diff --git a/structminio_1_1http_1_1Response.html b/structminio_1_1http_1_1Response.html new file mode 100644 index 0000000..05f1287 --- /dev/null +++ b/structminio_1_1http_1_1Response.html @@ -0,0 +1,117 @@ + + + + + + + +MinIO C++ SDK: minio::http::Response Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::http::Response Struct Reference
    +
    +
    + + + + + + +

    +Public Member Functions

    +size_t ResponseCallback (curlpp::Easy *handle, char *buffer, size_t size, size_t length)
     
    operator bool () const
     
    + + + + + + + + + + + + + +

    +Public Attributes

    +std::string error
     
    +DataCallback data_callback = NULL
     
    +void * user_arg = NULL
     
    +int status_code = 0
     
    +utils::Multimap headers
     
    +std::string body
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/http.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/http.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1AbortMultipartUploadArgs-members.html b/structminio_1_1s3_1_1AbortMultipartUploadArgs-members.html new file mode 100644 index 0000000..5260257 --- /dev/null +++ b/structminio_1_1s3_1_1AbortMultipartUploadArgs-members.html @@ -0,0 +1,88 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::AbortMultipartUploadArgs Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::AbortMultipartUploadArgs, including all inherited members.

    + + + + + + + + +
    bucket (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    extra_headers (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    extra_query_params (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    object (defined in minio::s3::ObjectArgs)minio::s3::ObjectArgs
    region (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    upload_id (defined in minio::s3::AbortMultipartUploadArgs)minio::s3::AbortMultipartUploadArgs
    Validate() (defined in minio::s3::AbortMultipartUploadArgs)minio::s3::AbortMultipartUploadArgs
    + + + + diff --git a/structminio_1_1s3_1_1AbortMultipartUploadArgs.html b/structminio_1_1s3_1_1AbortMultipartUploadArgs.html new file mode 100644 index 0000000..a9e0011 --- /dev/null +++ b/structminio_1_1s3_1_1AbortMultipartUploadArgs.html @@ -0,0 +1,136 @@ + + + + + + + +MinIO C++ SDK: minio::s3::AbortMultipartUploadArgs Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::AbortMultipartUploadArgs Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::AbortMultipartUploadArgs:
    +
    +
    + + +minio::s3::ObjectArgs +minio::s3::BucketArgs +minio::s3::BaseArgs + +
    + + + + + + + + + + +

    +Public Member Functions

    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::ObjectArgs
    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::BucketArgs
    +error::Error Validate ()
     
    + + + + + + + + + + + + + + + + +

    +Public Attributes

    +std::string upload_id
     
    - Public Attributes inherited from minio::s3::ObjectArgs
    +std::string object
     
    - Public Attributes inherited from minio::s3::BucketArgs
    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/args.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1AbortMultipartUploadArgs.png b/structminio_1_1s3_1_1AbortMultipartUploadArgs.png new file mode 100644 index 0000000000000000000000000000000000000000..641b0201042be890ba7c5f50d9b84e058534b802 GIT binary patch literal 1406 zcma)+eNfVO9LIlHHm7Il<)LSpmgK`P#k7oO8d<0V3<}T^A9AxYDHoM35j1)xMl#vxLW zxv8xw008FruW=MZ>@%3mWR<}agQQ|ZusIY=3()KJhV=E@nTt7XxrXd-lgVVp8AJAl z(j<^=%8=6IYxEfJw9dIOa@SOl)K4`Jzpq9hSGuct-F6*Tg>T>?RJ z{RSN|%k$=%!%#o6i+*};Ta}ZTZ_vCEacQMRw8VK;xnb!k6qiAm=FIAs^Rr2V_a(ZN zTpu)+`=a12tZ^V-7MQpcqB=~JwMbCEe{wh1xTgWX=0d_H60kcM{RO1L! znGxDJ8c|?$H4j8CT62~2`W2{h=+_L2#_1|7|7S6RLK3FCzkVs znUjxvUi%WEsPW|6h3&-6=pv_)P*9iIe*#w3h0Cay*GUPuNepF1yVU0UO!D^2aCCgb z)(KOk2$|>2-};l+GX_7aw~^nlB!0z34(nchTZfW9$PRXOX=qjs$1mOiS5wxKM1@U| z7JQex(4=F)A&J|5Cun0-&S@n@go}`pz{^vp2(Jfj&6Q2FxA5+rU*C-H~M8{FyMb+R@83GJUur`E@0mHKmq)l66Xz0?(m%LhII zWX0IJw`=G%C#8R|xF~7Qh8^CWmnMW^L6BJ!T54l&*SFneNLr+fP$}P$# zwKtx&tO&36q~9I_JiYT_0Ej=5m_x&`x(n6$R3z zCXrj0Dl5o8l6l3bB_l~d(z}WoIpxXyKB#Y8B8PV;Lbf$(n5)P8a!pvP&V*6C{|E0Un2#1`nTLfMMwj)15-?xp|X*WEd z5T`DFT!hvfsfa}?uasyoDd~d6HvNM>-`1lwegeljVT_hLx>q<#LvEm3CBS&2_%?yH-Y!eTljdB6v3doIc!Khu9J6O~38=w80B9o%?n zM}!C853X?#&)N7_Z!hTDTMfS1LS1cuyEGh{;V&4yO-p(FO)}={?7U{MixR8CSa + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::BaseArgs Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::BaseArgs, including all inherited members.

    + + + +
    extra_headers (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    extra_query_params (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    + + + + diff --git a/structminio_1_1s3_1_1BaseArgs.html b/structminio_1_1s3_1_1BaseArgs.html new file mode 100644 index 0000000..b1b5b5a --- /dev/null +++ b/structminio_1_1s3_1_1BaseArgs.html @@ -0,0 +1,115 @@ + + + + + + + +MinIO C++ SDK: minio::s3::BaseArgs Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::BaseArgs Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::BaseArgs:
    +
    +
    + + +minio::s3::BucketArgs +minio::s3::ListObjectsArgs +minio::s3::ListObjectsCommonArgs +minio::s3::MakeBucketArgs +minio::s3::ObjectArgs +minio::s3::ListObjectVersionsArgs +minio::s3::ListObjectsV1Args +minio::s3::ListObjectsV2Args +minio::s3::AbortMultipartUploadArgs +minio::s3::CompleteMultipartUploadArgs +minio::s3::CreateMultipartUploadArgs +minio::s3::ObjectVersionArgs +minio::s3::ObjectWriteArgs + +
    + + + + + + +

    +Public Attributes

    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    +
    The documentation for this struct was generated from the following file:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1BaseArgs.png b/structminio_1_1s3_1_1BaseArgs.png new file mode 100644 index 0000000000000000000000000000000000000000..f5b05ab651ff719774bc521157b5da462b45fecb GIT binary patch literal 7553 zcmdT}3sh5Qw$?jRE3`TtZPlvec8mn1iZucTkd&bvj7YGepg}Q4fe^w&9svS`R{|lg`=5l)bk^$aojYsYd7QO!&dK@r zzt8^n*t2ilx^+sNj{`(MM9kMv*T|}48s89h4-LQy=Ku6<7$B>+O%X}8 z(wH-vMj+?gk@%wcC6$~M*E@AIV z?I9lvbMpYPMR!Z0`jSa33mz5C4S=5O>xz3@O5db$Pn)O$tEp7u+Lp8j(OVy@gmkm+ zQ-6rY{AMH@$JDO?&#f0Ij?m>;nQ6RB;vZzBC}RLw%`U4faaWD=e=v=oL>fn##?hC* zWVD}q?LT8$U{yeQhd@;co!^1l} z(!kln?TIU0i9`utw~(*`;442s~|3$7F)+&TyXThce1R|o0(OOnMpG_#TqYWYMS#)j>!oqH~f>5`1=lF zh8vr9I-V13y}?Zb{(D}?_~6k$;z5dkd50WtI?K0#d*xas1)LYB`^t|a_^@3QGPwFz z$$ZT28oDp#z57)$lq(MyW&`191poT~@;J3+tl5{+aEytikFQCMs`Kuw3)tH-_vE}_ zKc##z8I4xHCi-LzdU8M0RQfL<&<(|3!u-x9-&AMUu3O|XluTM*=^3889RhU)yt})} zBXYQErrHtDq8x0R6LH-ciVnei-J`Hv1V24ZR`OV}qafH}7~P<{R+o)4r0txbcOM&R z3W%kMzw1~CKg07_;&ei(rbgS&ayg~1#`9Rcu3WYw(vh`>jP;&XSLl$nM;&QgvGeRW zmU3Ay5%A82W!>zZRPY*z15=Ij>6c*Ar)cd)D+XKBn3YhwDVbC`n$1`C9v-Q^D`FPL zFvk-|hv4K_AbLw(Ny8_VYY3mseroZ!z3H14C(% z>kzJvT(6LvBhG3EOBRk3bW`}f=2G1a{#-k)KlH`Kd9F7>+O;b8C5aY*joskIgjW-C z4mN%Ds2S!egSoS=vPw`z`xtYt(yqe;l?LGf->m6uPiG7>IAQm-P5PJUXM)4F$GsYJ z(=VhEyrQI-5w5{m-8gHLXfu~)9LaR*|D9OT{t~nL4kHKd$E1wz^=pen7TJx=^~d7| zyrN-(o_VddM;F3W+`uLB9w|yhiKI&&#UeGWA6Y@{oxT@eTb}B`UhNZQH^(|GCm>GP zX|^Pz_^0=lRz4-N zg0!m*He8KQ_h)Rq26<5NOi<3|*(Rc&Yc~m^x+hSILnABcA_FPIF6YmZ&v?0(j!oL|_yqSIf3bkBft}m7B^=*2s=fQX9TuD0#HEY#+JD zc@k5&7`EiY+H2+OquGmJ-A*s3!9K(pbT$FbY|@btvy(G^Txqb%*G?p{qT(^eJmO~NLb1zzw|gA$rb?^up2Rg!iauuo4Z?mOV6!Srbqi{kvU) zT{XTN&41rUy6}qq;?S-P74pi1qf6lTQx+>G@c)V|>h0!dlQ{u~RZ}UrA!Ra$f$6DOrr2RIn%W0m|}ZM zFhFYWsWI>VOj3S{a0xk;0GL?5z4^W1s&L-kt@7Yq$4PcumiST%7O{jhwg{5)ylNIt zi||*arF7J>5DJoJFWccSAgN|41QX7h+P+9MD_Odfz1#}}MTUsw>=Vq(8v;)fi{Q$)db;#=cS*QYxV{2Cv~Nbs>JI>mtUl>zIW*DULs z$f_*~n}bU@dBF+K&R?e{%+wb@ClI#fT?N1s_^IOTIV{nxL{x?fQP#}8-|8aJ`^)Jc zxzx+)qG43hC+v{Sk@l4%8lHGOvPsc{(qz+I@2x?~m}#F?0nk|;1i*IvOJ`d_wXn-W zR4jBlnXcco`QzZK`C^OZLa zMwpzElA_s%KEU)G+BdsdO&}ER+-rCr8%Q}i-1^3-n@1&69g;=u?SW_HJzcK*%J-b9 zc+q@*ROY0PQNdBu5{4O1hF~N-teb^ttiQEF_-`YhJzLKg-YK7B8U+d1&hF8ishmZ{ z#f|{ug;4KE>?Nx1mhK1Q9a34>U}1|YV)3*BKInRF3pNMd^yA|EUZxy#PK$HY+}p3| zMB#R!bd~n4iH*V2e&JH!sK-KqHwT?~?o%XfJ zUaACI5$XW5rAj>R#dD*acrC19U(sC5Vl{i8T|jy<`Lakq>^zymk+W z;DD`cS87;$h6G!n8VFABjVI&fAk&cEMwalmlh0Cc8lCjD*d}Z65?#bR<8rW@Hl($w z?2n^R5U|vwq6yczWdG*;w-G-wqr3^;{N>B(wd&BI-Xl$J#IB+y|MiE%V^@Nu?O{jl z7*Ho^+z2gBLB7vD1LY&15vz?$yK`4G{1w0>dgf%iO1qHgl+v+C2CH)(>$4m7^^uEq z2Y4~lRw4XluA%v8DnakaUM+nnsqJ0?!FClm0^@nYnuYG3FWa68ozMWdS4TG&RkNb6 z!(}=mfddX*QS@EWGl-G+g;exL=(K$hkfvdL^CamJ5Uy_Y?uS=@4Irc`d3V!a3eCt~R79UUJERVP>Mp-d+@WJ`TNe;BH9!+ajBOIxj7b`~7LWmN)%m{+p8P6jF`;#xm~ zj0g~9CQ{QBNlAquX;Ka(ylYfzI>?Sb#wl$5dT|o4@o5&7LZ>hYy6SteO!&D=pum9Y z8t*oc7m>q(`;9<;28y3^kN<|DDT%HQ;7|H;ZILe&Zm>1xmhxQ9Msv&i|3=Bo|0^&B zPRc-jq+i=N|LBEWnXF4XGPd9PArgk_?BkbXnsZ8q*&`v zz8;ID>C}notroOAxS<`qVQcUG;oI?;-HFNHi*K~-r);ft)X#pont2@#!m)2vW3qYr zh34Yb-8>XEC)f$=6J9Ycd-w)SjLz>EwGIU3NM%G5@VF9g7A}xMGJ4~pniW*JPs`=V zhsCT!URnW;nnx9r-AhW;sbW2fiw{YwRXb2Qp56vH>y@y^$9@gZfO%!5TyTk5_;vz; zy%~`i?U`H+Q=QizR#Jh-mEXY8_OVC*E7Bb+iLKx%I1O8gAPy(n^4f!Q8or~8T%Hj< z@g)Z-w)wck`@?79g`f6D6gc;P6;=X^2s-vNgY7qZyo#N%E{Yyck?(zu zt({Af{}3apS{Zn`4ES`zv2E?s971clK|HF@#m$zqJ<7=CK7TbU=e>yro5B?ej*55- zS~;#P@7lS6-qCUCmY5_wQgQDF?>m1lrt{G_Lv8e>hvm}SmujEaWaDac44zDP|AXi$ zf^jKOpMy6-0x8iSIGIJBj0BR(m5uHB4lU<>di4<>8nSR6AJ%<` zE3xBmk86TtSeU#CnnqjfTnF3q^{HJ&EGtd{j*Nu!)3roGy+TbS6k1fcj}GU>*<^)m z%kPk%AeCN0c>NPL~&?%txg0_YjXo-*cw#A~Q&J;bmPLVblm04JJ4*dg)sEUxS4p``ft1}_p zbr0r%?dE~{-JCnYRM>&t8#}2G3VaaV*t7BL`8OIiO#semahkgD{Z#DVdA zL2e5ztuC@xePS1ldoq1LQ+l^08?G)lG5zqc9O>Zj0m~~t?24Ca{v1ofdmJ*eyXpWv zsDhLq;~_Kdh|oIxj6poh)MXDaF@!DUsJfh^u_AUnbu!ha!noAZ&koy`N{5v~(5>}k z&ZDWhEzY%tvkZ12GV@{ikg;bPH3OQBs>_o(xDs+JT{P`a7CKdp?WqGr$8g|pF|7on zdV2ciyKUI5W@6W?zIb0jkoEC1!ysn&MpI6JLKWz@E`q=zH%7?fhUeOvdK{{WeIXr70mE^#7wc3KE!2OKfSS!2hAYlVYlM7ehk1lu!^`RZZfU)M&3XGm8n86>G zb8jn2+&77>oyHev^Ps3iUZ=kbvu+89#z;NkCj^~~M?%{MbOPUXb z0I*u9YHS!}=uk`rShHPOLDU_fV|G{F-PIzFRAfdvwmwj&s-Z+XlatAiRM8o1^*fT$ zUh|3{gG!DhI`EZwHnlg7h6HW0$W~4 zCs*}E>S4RbA_y%#SW3A`gvJBRG9ne^c>}#5yGBMDoH8Fq|Fz>6{^uEs!ATTcN%SxC=}FExX6P)b!!T4t(q|d3TQP55mRw kn2-kRDvXJge)-#Ni9GX!TVn9NbQ$JL>=zGycPit*0mJee_W%F@ literal 0 HcmV?d00001 diff --git a/structminio_1_1s3_1_1Bucket-members.html b/structminio_1_1s3_1_1Bucket-members.html new file mode 100644 index 0000000..5ce6620 --- /dev/null +++ b/structminio_1_1s3_1_1Bucket-members.html @@ -0,0 +1,83 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::Bucket Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::Bucket, including all inherited members.

    + + + +
    creation_date (defined in minio::s3::Bucket)minio::s3::Bucket
    name (defined in minio::s3::Bucket)minio::s3::Bucket
    + + + + diff --git a/structminio_1_1s3_1_1Bucket.html b/structminio_1_1s3_1_1Bucket.html new file mode 100644 index 0000000..1970945 --- /dev/null +++ b/structminio_1_1s3_1_1Bucket.html @@ -0,0 +1,94 @@ + + + + + + + +MinIO C++ SDK: minio::s3::Bucket Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::Bucket Struct Reference
    +
    +
    + + + + + + +

    +Public Attributes

    +std::string name
     
    +utils::Time creation_date
     
    +
    The documentation for this struct was generated from the following file:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/types.h
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1BucketArgs-members.html b/structminio_1_1s3_1_1BucketArgs-members.html new file mode 100644 index 0000000..ef71264 --- /dev/null +++ b/structminio_1_1s3_1_1BucketArgs-members.html @@ -0,0 +1,86 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::BucketArgs Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::BucketArgs, including all inherited members.

    + + + + + + +
    bucket (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    extra_headers (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    extra_query_params (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    region (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    Validate() (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    + + + + diff --git a/structminio_1_1s3_1_1BucketArgs.html b/structminio_1_1s3_1_1BucketArgs.html new file mode 100644 index 0000000..5900771 --- /dev/null +++ b/structminio_1_1s3_1_1BucketArgs.html @@ -0,0 +1,130 @@ + + + + + + + +MinIO C++ SDK: minio::s3::BucketArgs Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::BucketArgs Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::BucketArgs:
    +
    +
    + + +minio::s3::BaseArgs +minio::s3::ListObjectsArgs +minio::s3::ListObjectsCommonArgs +minio::s3::MakeBucketArgs +minio::s3::ObjectArgs +minio::s3::ListObjectVersionsArgs +minio::s3::ListObjectsV1Args +minio::s3::ListObjectsV2Args +minio::s3::AbortMultipartUploadArgs +minio::s3::CompleteMultipartUploadArgs +minio::s3::CreateMultipartUploadArgs +minio::s3::ObjectVersionArgs +minio::s3::ObjectWriteArgs + +
    + + + + +

    +Public Member Functions

    +error::Error Validate ()
     
    + + + + + + + + + + +

    +Public Attributes

    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/args.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1BucketArgs.png b/structminio_1_1s3_1_1BucketArgs.png new file mode 100644 index 0000000000000000000000000000000000000000..b74d2e9e9a8a17f0584ac6359d403618f6a57e65 GIT binary patch literal 7547 zcmdT}3sh5Ax~5YdD?V5=GFGZcod%+!pdcd86sXeh7Ak5`@C8VKAn#{jq*ZRKf(8*G z!T3sOgn)`6Mjk0L5~C&o3BeFZpdb-R2(KiB5OVhk^iJ=+Go3rL)}7mX*2>8_XYaGm z-v9so-~ZU(1_gMpGXBKa$jE3F^2;xRjf|GijEp|G`O$~qN$eidIq3)F^BA@#@gxEf#v*P@{E%CA(GLbZF?4na{FUFG{*P~j31TvjnL|~R%L?^C5AOPHOM>pJzSBl&+iRMFx-o8 z8qwf}M2nsMsl4xdVBOviW!|A>m*U6$)PYitjOTc`7>4NN=jZ1iOp8TZRC$&7H=za6X#&rVK84Kc0r03kq3bY#c813LbTfiE<&@!wbZ8 zlV$XlU1d9w)FS$7>6bVQG}^5y?$W#h5I^TKYjrK8}X>h0-L*nl-Kj)+a6%_^^hIn06L^5@*)dc0x|O1 zArS+zzZv{k1xlf@6KM!ePSedzE_;a0*r{v0xO*}GqOaFrL%)QLsxGt={y7Ai(nfIhXfa^<=CKa3_>(Y*6izLW z!XtG%Iu2^jU%=K#`QiUg8UGlzW+-%UWMyY(S3wtvpSNVpA4|+;?|4F9yYilH<(*MW zua=K`csrhi+nHXx`LB4;D*_~m5E;&4wwb^*iQktthSzo%Ez9FLBj^7VgMhOw+I<6X z9S$_ysi3BF#ivsIx37!PIw8;VfBErHY-n^nZbKV7)h;rxKY0-QbXfT`hP=!sXCE%7 zt6Qs~l-A?RVG)y;g!I0r2#uM|_SwfTI_q9l_LADw{?r8Bl8EhE^DHO!@m+vf+}+Xk z%o1Lc6Tak>GnuY3_rWrAo24ZG23O?#s0-p5Hemo(w^MIcpFTw5&nl8*9N)HiB2>8I zS8a`L5!PC_pGLaJljMYzspUs6Mezta)daPvj8TT&laf`=E0q(4)F+y0j<_s39d~3} zk~@FN7yoE3El+P=zrMh+Ssya@ZteU4ZwHdv=Xj%9)Ym>$=U?epqrc`Uv7}+--^4~T zeQn`R7s;WxBgzST#douZzm2iys?;SSIlM~q#@so%ygF%JfwUX*US^7%T&fSGMm&CW z_+>&vhJ;&(m%Tj-WAGC>9+f7Qou4FR zX){#KQmJ~(F&10If1)K}5wzy15ZA3Vu6`x)3Qb$+O%h?>)=^TgCuQFvmY@#03}guv z?Jtq5?@&r$2dTJ`Jz?z^0?C}0$Jq>cr$&ej^&Xoy4Y%x^__MDz3yoD&W*kCS=*-e6 zw1{10XExCa$-TGQ1AVEn6=z5?^~hUTK?mOlR~5=mAy~iDc(E?1FU@IgGR_nP_#!Bi z$M@oLI^2Rs$4b+N)50yi2T|ywx-A<^P#@=>x9;AgU*;D4 ze6jOy2U!SN4wtYYOCok09pa_^n3m3rqNjv)-to!X;F9Bm%i)-Wj6NvcUFPg2mBnrd znCK(^SV&Pyh{v;Rb91S>qYSObup}dG5W~wX@I>sO&8yesQ2sLWh{=kly1UQQN2D-K zb6A!gvWAg17ST8aV|<;UPx5^-REyQ%@sPBbLseZOL?v!${cruKdYx%)1q!isI+i2| z%wDvH^qi)Qs;(kqUAAuS`}SEy;6x8adB@ZC9gaEqHt)@%)W6P}2-|~ft|}$K?tr+0 zeKTtXoc*pGwWC>;j9W?hg~wVvg$8IK&%;0p-s(zQGh<_n>bFZjj4io!Y>7O2-O;L* zOFzuWj`eDNgNod|&O>XquY0Rki;-BwShdRQ=ebB)^{z@!4s_uX2c72C;ioIUD#VN$1vDa5d=Ba#EKDappKH z#2WA?d9AAl;L43PK&wCnEo&YTi-!ivQAj&L`oGlF@>-j@7>&Y1RLk5Q#qhXrTf(sJ zhv7FulgHzfgAyd}GhnJtO6ufTbVXT1?T;N!a8|Kj+t?+2&ezt|E3jn$?HTz8^NjPR zJ6%cK1?H@&48;*>vw}H5P&tzQ1NDg6bNrrb6MF!~^3#Jyt7sT7%WaQ{2<<7+Lxree zxWX+{En-np% z;G|UD;o3YFn`s~BG6c|sNMu1YJbpGobiOl+AXB)EjUPK|*|{^*)Pfi_X-D@V56Wg+ zSv;{nZq4F&H@5I{(zR!tlF2Jp%!|wl_Go>mc+~h3Uw`T;2Q%-)#OaUR-5)8wANJJu0;7xXle7+yZSx`V;Y=<`;Qr8tBp8{U zlJvKK+R$X%^@OrCa9jnB3m7Ez0#9lnII(MalP|S+O$AvnWC}MKoGR*HdRHIij(qkAotoHeZ*_r* z8U;XY@dRkzIC$bdjJ>LcNQWqDI4iNa@Asu^cL6B^JSW}JCGSCU(ST)Y87I+4t5QQ& z+~}`WPJQM%s;jQj6Bb@7q@+>}D`kp#$jK!@!DdH6$D29=%%mHzI|wuSm-m3CGyj98 ze!3P4S@ge|aidN`fy_ozSAnhC-qiIgKu*6_&VT~Ee;N5PdwHYEEFJs@MNA3AR1-J* zALKRw4l=xOK4!?Ql3#8rp=#bd3ra=IW z5DAi6<=@WFhi817J0DjPZ_P|llxL|v5+_(x3ZjOiR0HiJG42uddBb$>esp{@u;tlR zxFH-_K#lATBoHEVziTDNp#9ww8j^y?|4^rk#rz(H;u<%g40doA4YPgl_>c43q=64s5sR<7YWiEJ;?%dg zMJEKN(LW7VQf)Q38C6Jp?!8`1c3%CkQ{^gtav4?ZvKiTYo01x9#$$<0f@1|{b)Mm~ zDDR>NFAYmuXGz;#^c3(BHicL(WidO24FbenL6ms^vb>%2auogA1R5>(-6M2XdvwkT zznWrFQr{K!iQihC2DIJS)YPQAttAPbNmVxaHe`WD$fBfXoK(H4z(`#0H=1tY!>U-ZtOgn0F3hB2J|2S9mTnih()Og?y&_eY}YZMBPS zrC?wsa?*lXff~Z5jf~3yI0B=pwCR%-@O8^vZRq$thl#rR&cJPSib@Bm_NjmawG->67 z{GM06uiQ5{yK$s1RlEr|`%w{xE|eY3nuV8LA`2?+WzOgVzuQe=Nzb;z;}D4tPi5zX zy?&{?Z#!LjPXaO9CH}08;t$8HPwKf=tivkIH$DJ%m{!0gSXFIk+eI7R0;)7Fk+>rr z{3js}MW2nF(nJmRE-&(N(Onp;Gtl(T- zv)c^n6u|U`wykA_iUY~>T3&#f$uCEoBmbdsdT-&42t73yIE7rF2nYa zEc5}vcMWg#DSWv8VLk25teg+kL9}j?KA!qmC10Yir_HvmhVj1gq$Cwhpfou0X92w+1$sGNANA%W!=#j zE)5>_K@fbYb&w2ZKs2W2mdO`WI)~ojcWIpZ{pt4f*fd|dxzqA{tubV_TJxnO&>t5I zm^CyR^(3=nH>sEBHnXjRe1o{Y)3U(38#BPjy}oT8Qu&VNT2d&^we4dsI5Hq7Iv(&u zZkI9%+weQ?c0j)~;SMxaU>{7A4`4HQ&xI@?y?3M?%K=P)SVdKrR3%X3q44Ml2#@YT z>!bf0Fo0!HVz!Wz*&C<_jCl=QLxG`o=^ws@wpf{Rzz$*+$?4g$QylGC&V#yWm-O+cEGu@N zq3CZ_dlfhlj`#N)EJbrcIQHWk;P#Yq>W!f;?jQas&As)+dISiwKSg0N@?lxMnpM9( zx;v*iZeBJRujNYfHPiB0FSOh$o(yB>8Or2VwU<%E2M@lz9{<|!WZXk058pTc%%QlH zalp>JSlRiFi*o|x5utT7dO}8gJwaZ%A;CX*G=noht;W^WkVGj`-z!~Em#|A$P>1Ea zfiq(<52Ks(!p1nUP)-P>$_belvD-ns00{vqHb$h>@}1pMcGC(a&UXcj1C;|M)pm~h z-y@Sk4dR*nEmImmNws;dih1N*m$lK0z12R#huWH1JOmO|Am5?LkWsf?&`v>RfxD`n zO>=3ixR0mvXlxg}TsU1vQSKZ$gM%^dLFjYLJPX9_GJ|S_u@7PgFG3~N$4DruQw$n5 zT{5mAicxA{6jRjZ~i&o7OXU@f_b$Qa?-(|G`2M` zp(FMjqFex(z@B21cillp)*@&;DatZ)QCy}(4ChD%7%nC|FRmdm4R}8m2(+;>tY2TV zgFlty_$ELfdU+B5R{{R(kTpC%;iYQ3^`bA!WD!S_lg`_Bs#FOaE&--rP;O)Jq6>pI z!jNe5TBk-OW=el~KS&5vX}FvN2B6r5f-NXf;|-LBzWFi=AEWICz_bmQV#PzR%@v26Oe%dTG?QB73G;xfu!z@&eT1}ZbW`;6IBD|m zbURDD`+8adeNEbw)!7tNe=Xf=jkw6%eG3%L19{iVTmS*3k5eBZL85}#3r#LuI7$+* zCLzhsZRZ72*L#iXmQ+~~7GKbS7Xs-R!$h>}DWL8GrsS(#Ls4!-L9)+?%-ckB_cWlp oR%UWn5WTR`RswN7aolA5tMp0jr(^b literal 0 HcmV?d00001 diff --git a/structminio_1_1s3_1_1BucketExistsResponse-members.html b/structminio_1_1s3_1_1BucketExistsResponse-members.html new file mode 100644 index 0000000..8e5bb4d --- /dev/null +++ b/structminio_1_1s3_1_1BucketExistsResponse-members.html @@ -0,0 +1,102 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::BucketExistsResponse Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::BucketExistsResponse, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + +
    bucket_name (defined in minio::s3::Response)minio::s3::Response
    BucketExistsResponse(bool existflag) (defined in minio::s3::BucketExistsResponse)minio::s3::BucketExistsResponse
    BucketExistsResponse(error::Error err) (defined in minio::s3::BucketExistsResponse)minio::s3::BucketExistsResponse
    BucketExistsResponse(const Response &response) (defined in minio::s3::BucketExistsResponse)minio::s3::BucketExistsResponse
    code (defined in minio::s3::Response)minio::s3::Response
    data (defined in minio::s3::Response)minio::s3::Response
    error (defined in minio::s3::Response)minio::s3::Response
    exist (defined in minio::s3::BucketExistsResponse)minio::s3::BucketExistsResponse
    GetError() (defined in minio::s3::Response)minio::s3::Response
    headers (defined in minio::s3::Response)minio::s3::Response
    host_id (defined in minio::s3::Response)minio::s3::Response
    message (defined in minio::s3::Response)minio::s3::Response
    object_name (defined in minio::s3::Response)minio::s3::Response
    operator bool() const (defined in minio::s3::Response)minio::s3::Responseinline
    ParseXML(std::string_view data, int status_code, utils::Multimap headers) (defined in minio::s3::Response)minio::s3::Responsestatic
    request_id (defined in minio::s3::Response)minio::s3::Response
    resource (defined in minio::s3::Response)minio::s3::Response
    Response() (defined in minio::s3::Response)minio::s3::Response
    Response(error::Error err) (defined in minio::s3::Response)minio::s3::Response
    Response(const Response &response) (defined in minio::s3::Response)minio::s3::Response
    status_code (defined in minio::s3::Response)minio::s3::Response
    + + + + diff --git a/structminio_1_1s3_1_1BucketExistsResponse.html b/structminio_1_1s3_1_1BucketExistsResponse.html new file mode 100644 index 0000000..d4f43be --- /dev/null +++ b/structminio_1_1s3_1_1BucketExistsResponse.html @@ -0,0 +1,168 @@ + + + + + + + +MinIO C++ SDK: minio::s3::BucketExistsResponse Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::BucketExistsResponse Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::BucketExistsResponse:
    +
    +
    + + +minio::s3::Response + +
    + + + + + + + + + + + + + + + + + +

    +Public Member Functions

    BucketExistsResponse (bool existflag)
     
    BucketExistsResponse (error::Error err)
     
    BucketExistsResponse (const Response &response)
     
    - Public Member Functions inherited from minio::s3::Response
    Response (error::Error err)
     
    Response (const Response &response)
     
    operator bool () const
     
    +std::string GetError ()
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +bool exist = false
     
    - Public Attributes inherited from minio::s3::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
     
    + + + + +

    +Additional Inherited Members

    - Static Public Member Functions inherited from minio::s3::Response
    +static Response ParseXML (std::string_view data, int status_code, utils::Multimap headers)
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/response.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/response.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1BucketExistsResponse.png b/structminio_1_1s3_1_1BucketExistsResponse.png new file mode 100644 index 0000000000000000000000000000000000000000..c5b27b897533124b0a11f6bc0ed47d12da7f577e GIT binary patch literal 703 zcmeAS@N?(olHy`uVBq!ia0vp^`++!sgBeKHtA!*3DTx4|5ZC|z{{xvX-h3_XKQsZz z0^tAzJ-H8Zm(&k3KF8mT7Mt>U}-!E_aS*8M6!Uxxq5yf8T=+N<~UugOc+ zztH{|U&#IG+Rs~T?>;OSRo-m-%X%qi{>$%wZtCyfE`7~PZl22CE4u%3=RTLaX6h9@ zDU)^6EqD9hd6RCHJ>K!|XuRjv-fPl#dTjr{mcF*3{@fq+pOY^?-`RgSZIp+C0!rB#0^_Y$6Q z>3!I?cfXsjW_Xp9)$vVzIL&_jH2HUJTXVRsoHXx$e(LrS-RT=o&pMj-_tU@Ej;0^| z3$C%Pj%;GdHBOX2bGMo=|Jb~py!E_6bC>Rr++S`ZV48UDy5piAPnP^g_FOx8(`%ej0pe7q6deum7WXjpvoL&-?G)XK62+`M-JQ z{Rj49Q?@BgIdgA)z4bKq?}s+*lzru|=k)&Ce7T4J|NYx{92ijdFTDA~a2*y}-}=41 dG<{drD{a!2QalUc)I$ztaD0e0szngUO)f< literal 0 HcmV?d00001 diff --git a/structminio_1_1s3_1_1CompleteMultipartUploadArgs-members.html b/structminio_1_1s3_1_1CompleteMultipartUploadArgs-members.html new file mode 100644 index 0000000..a26d319 --- /dev/null +++ b/structminio_1_1s3_1_1CompleteMultipartUploadArgs-members.html @@ -0,0 +1,89 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::CompleteMultipartUploadArgs Member List
    +
    + + + + + diff --git a/structminio_1_1s3_1_1CompleteMultipartUploadArgs.html b/structminio_1_1s3_1_1CompleteMultipartUploadArgs.html new file mode 100644 index 0000000..1b0d497 --- /dev/null +++ b/structminio_1_1s3_1_1CompleteMultipartUploadArgs.html @@ -0,0 +1,139 @@ + + + + + + + +MinIO C++ SDK: minio::s3::CompleteMultipartUploadArgs Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::CompleteMultipartUploadArgs Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::CompleteMultipartUploadArgs:
    +
    +
    + + +minio::s3::ObjectArgs +minio::s3::BucketArgs +minio::s3::BaseArgs + +
    + + + + + + + + + + +

    +Public Member Functions

    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::ObjectArgs
    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::BucketArgs
    +error::Error Validate ()
     
    + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +std::string upload_id
     
    +std::list< Partparts
     
    - Public Attributes inherited from minio::s3::ObjectArgs
    +std::string object
     
    - Public Attributes inherited from minio::s3::BucketArgs
    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/args.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1CompleteMultipartUploadArgs.png b/structminio_1_1s3_1_1CompleteMultipartUploadArgs.png new file mode 100644 index 0000000000000000000000000000000000000000..f3c6cc5d768b326a550f38b65525533ae21c8a03 GIT binary patch literal 1437 zcma)+c~H|=5XXOrD2FKH)qsOkB_aq|HG-f(RjB@&5Re3vOQ=yWkZ^>cm>6_auo4su zA{d|%!2}ZShC?6{ti%E27$Y|cpa}lBONf*Jra#+h$CeKY%Zci#T7`UDRqd9DbNkMkhT_hNC}BEEa3s?l*x` zZK?+r2f#(2Pe&7e9{^}sg3d?qF&dLurbac8E4T*@b z-=AFf0zvr70GY4Zk7tpFxU6%`u7~k=e#(6s=PskDQ*y~`pRsarSFCySADH#sJxZNv zcM-|{yHv~g*pEaHFIA|N8t}$b2&@4j}m1%{h)e8Lz9D+XAwrqy5ckDc(Rmg*3vSVS(&v` zeM0H@jXyR3KV>^Dr6xXLE}Uz*g|VY5G<*k24?cL7LqkHc+Tlr+lG|*&2juT%aNX z2l!T*U$g4pDBc{V8>nZiRT7u6qWih42F&Ek=Rw9lc%`L($tynSTy?iMn$nG62y_`j)x!h5p<+y5pF+I6J!$yO-D6NFX#Wx^JsF-5nOI_Tp{SX# zt4qm%z?R11YDH5A38b+@?L6E2d*xGWTNj087CpTvf7x!ZO%Wu0+0ne)rXyjVCKPEW0%)P-}b*GU%`Y$e5eL?QeYO!1M{Int3( zlpmw!Q#?eOM!)`f=>!&6kACeP%Y(`4er6Ye1Iro$jR=Vjz)WNq;NN}+n(SnT*m7@N zFyk+$t9tYT_5TyrzpwXuyw4_>;t;$9cR*F$gZTMtKw3PS zOUO%^M4S!N4e?1Rt(Iru7_atcz%#DtqVOL*Ef>j*{YI(32+K%KOYD(FR}*~r!~Mn{ z;9f_4R^1kTN5xDUDd87OP7a< z@-7nWf4um(Hz}VZ0y_V<_&)QTaXhM>t)~sZ{QlHsf$QjaR&a!qq&H_vU`AmBrP%PH zk@)&j!;KPdeNKS`N4mJoMK5D6P|qL?|1xK$$RQW^)+q#MD?r!8;E3zGp9T zNE()sZsI`TYiaNdclV0nIs!d6ZTtk6%oqBu4Ve7U9+ zdKE%njZ8^U)M1*hzYif+dx{MB6+~L{$h%CNw)s+MJ6OXVU#Bh1ER;vHD<8)Q-O>(` zE^(|eN%K(CTt36+?i>DkcJ{1e;ql7W#<2-f@uk0Zx_>~j?Pj}%8n{BZV?}ZI-vIxm0O*2sE;<@` F{dXs8*meK_ literal 0 HcmV?d00001 diff --git a/structminio_1_1s3_1_1CompleteMultipartUploadResponse-members.html b/structminio_1_1s3_1_1CompleteMultipartUploadResponse-members.html new file mode 100644 index 0000000..784fbcb --- /dev/null +++ b/structminio_1_1s3_1_1CompleteMultipartUploadResponse-members.html @@ -0,0 +1,105 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::CompleteMultipartUploadResponse Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::CompleteMultipartUploadResponse, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    bucket_name (defined in minio::s3::Response)minio::s3::Response
    code (defined in minio::s3::Response)minio::s3::Response
    CompleteMultipartUploadResponse() (defined in minio::s3::CompleteMultipartUploadResponse)minio::s3::CompleteMultipartUploadResponse
    CompleteMultipartUploadResponse(error::Error err) (defined in minio::s3::CompleteMultipartUploadResponse)minio::s3::CompleteMultipartUploadResponse
    CompleteMultipartUploadResponse(const Response &response) (defined in minio::s3::CompleteMultipartUploadResponse)minio::s3::CompleteMultipartUploadResponse
    data (defined in minio::s3::Response)minio::s3::Response
    error (defined in minio::s3::Response)minio::s3::Response
    etag (defined in minio::s3::CompleteMultipartUploadResponse)minio::s3::CompleteMultipartUploadResponse
    GetError() (defined in minio::s3::Response)minio::s3::Response
    headers (defined in minio::s3::Response)minio::s3::Response
    host_id (defined in minio::s3::Response)minio::s3::Response
    location (defined in minio::s3::CompleteMultipartUploadResponse)minio::s3::CompleteMultipartUploadResponse
    message (defined in minio::s3::Response)minio::s3::Response
    object_name (defined in minio::s3::Response)minio::s3::Response
    operator bool() const (defined in minio::s3::Response)minio::s3::Responseinline
    ParseXML(std::string_view data, std::string version_id) (defined in minio::s3::CompleteMultipartUploadResponse)minio::s3::CompleteMultipartUploadResponsestatic
    ParseXML(std::string_view data, int status_code, utils::Multimap headers) (defined in minio::s3::Response)minio::s3::Responsestatic
    request_id (defined in minio::s3::Response)minio::s3::Response
    resource (defined in minio::s3::Response)minio::s3::Response
    Response() (defined in minio::s3::Response)minio::s3::Response
    Response(error::Error err) (defined in minio::s3::Response)minio::s3::Response
    Response(const Response &response) (defined in minio::s3::Response)minio::s3::Response
    status_code (defined in minio::s3::Response)minio::s3::Response
    version_id (defined in minio::s3::CompleteMultipartUploadResponse)minio::s3::CompleteMultipartUploadResponse
    + + + + diff --git a/structminio_1_1s3_1_1CompleteMultipartUploadResponse.html b/structminio_1_1s3_1_1CompleteMultipartUploadResponse.html new file mode 100644 index 0000000..7431a10 --- /dev/null +++ b/structminio_1_1s3_1_1CompleteMultipartUploadResponse.html @@ -0,0 +1,175 @@ + + + + + + + +MinIO C++ SDK: minio::s3::CompleteMultipartUploadResponse Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::CompleteMultipartUploadResponse Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::CompleteMultipartUploadResponse:
    +
    +
    + + +minio::s3::Response + +
    + + + + + + + + + + + + + + + +

    +Public Member Functions

    CompleteMultipartUploadResponse (error::Error err)
     
    CompleteMultipartUploadResponse (const Response &response)
     
    - Public Member Functions inherited from minio::s3::Response
    Response (error::Error err)
     
    Response (const Response &response)
     
    operator bool () const
     
    +std::string GetError ()
     
    + + + + + + +

    +Static Public Member Functions

    +static CompleteMultipartUploadResponse ParseXML (std::string_view data, std::string version_id)
     
    - Static Public Member Functions inherited from minio::s3::Response
    +static Response ParseXML (std::string_view data, int status_code, utils::Multimap headers)
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +std::string location
     
    +std::string etag
     
    +std::string version_id
     
    - Public Attributes inherited from minio::s3::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
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/response.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/response.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1CompleteMultipartUploadResponse.png b/structminio_1_1s3_1_1CompleteMultipartUploadResponse.png new file mode 100644 index 0000000000000000000000000000000000000000..c233188634b1ff56da779ac26a2cabe6844f6deb GIT binary patch literal 782 zcmeAS@N?(olHy`uVBq!ia0y~yU}Ocd12~w0q#WAFU@$KB#MXwDwTEbt?-1lGE zyswn;?xQWQ3aj_XW~4+O`oMW1KIitfyKx&QJ~XuhN#jO8a&77H<`%33LE1THM%DXQmR_afY{de&HA8`>jQ9R9z;a^9)K>&stz6g9>L2^w=P-WMSGzgcwR?;6i6^U_y+8RnCpNX7azs))b* zv_<`7V^@>LpE@p;pX)HbcxBd4_^&(N@_*?FJoAO$t1V7QEBoVp!AB zqya<>1xj3t6u1^K9OwjbJD3>ML0knchB+t-_V+q*DBg(^WO(pQ3#!4>d!Y^gk2ktk z;|&=uT%Whmq{z6P!C~pkqukrSr51-XBrJLV{LsFAMVUE^ydO$P^|y1}TWnCy%HTFj z(}vyf&~b~SuRc60oVR(SZ1g74{6&8@i=6rX=-lJfKd*}Is&15O|F_^u-L@@aUQLiV z*LhJx^Wv^F^W1A{@oxl|t;|`Puf%paAm2{raAEtM%`eT%YQ9M`B^+Jau=?!0$A`b< zY4{}BJ0G-q)+DgC)i$}jH!&}`WX6h zS$^P*CC6>VW7una5ALvEdciXBdWO69?6yB?u3KJS)IBC%yD<3T-+ckC-+@GBn+a literal 0 HcmV?d00001 diff --git a/structminio_1_1s3_1_1ComposeObjectArgs-members.html b/structminio_1_1s3_1_1ComposeObjectArgs-members.html new file mode 100644 index 0000000..c461d41 --- /dev/null +++ b/structminio_1_1s3_1_1ComposeObjectArgs-members.html @@ -0,0 +1,95 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::ComposeObjectArgs Member List
    +
    + + + + + diff --git a/structminio_1_1s3_1_1ComposeObjectArgs.html b/structminio_1_1s3_1_1ComposeObjectArgs.html new file mode 100644 index 0000000..ece8341 --- /dev/null +++ b/structminio_1_1s3_1_1ComposeObjectArgs.html @@ -0,0 +1,160 @@ + + + + + + + +MinIO C++ SDK: minio::s3::ComposeObjectArgs Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::ComposeObjectArgs Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::ComposeObjectArgs:
    +
    +
    + + +minio::s3::ObjectWriteArgs +minio::s3::ObjectArgs +minio::s3::BucketArgs +minio::s3::BaseArgs + +
    + + + + + + + + + + + + + +

    +Public Member Functions

    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::ObjectWriteArgs
    +utils::Multimap Headers ()
     
    - Public Member Functions inherited from minio::s3::ObjectArgs
    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::BucketArgs
    +error::Error Validate ()
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +std::list< ComposeSourcesources
     
    - Public Attributes inherited from minio::s3::ObjectWriteArgs
    +utils::Multimap headers
     
    +utils::Multimap user_metadata
     
    +Ssesse = NULL
     
    +std::map< std::string, std::string > tags
     
    +Retentionretention = NULL
     
    +bool legal_hold = false
     
    - Public Attributes inherited from minio::s3::ObjectArgs
    +std::string object
     
    - Public Attributes inherited from minio::s3::BucketArgs
    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/args.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1ComposeObjectArgs.png b/structminio_1_1s3_1_1ComposeObjectArgs.png new file mode 100644 index 0000000000000000000000000000000000000000..86dd1547575a05395c5457d0f0b47ad7e5479971 GIT binary patch literal 1695 zcmchYdoRBW6s{P+$!_W+vQ~um#}CeOB!AtzDK1}sjU2SQ4o{UlPjzK_O7n3tr;9WS-U;j z+tUXj8`?A$!}mu7Lctt#KH?iE$1mkWk4;n*h-vj4DN^sjirVv{#Gw)|tAJGnl@=YB zb@w}#!`n_k7kjD50Y&ybz|?`YYnv5VmExszeFJ1#q6h%@PR9d@?|>clf|2@0x42S> z&k72wL(vS2Xj9mwS*A4NXXez{ls|^}NuAG%@ws7Mnw4Bko~A{LX7{Y%S=yl8hbW4g zFC(klh{xj$yL94aqQ*Ei5<@Ubk%So-d1K!{1RC6~*A7>8l_^aZ@&XJ%%(@$es7wG#KRJO0;Hj$- zAh}1TC-dmRK8+grw*mHuxe!l&e~8})~@^xpZPt1zz6`Ut&bqS@8S_DMb#mPFhA6eTA4iO2Gtp~beiOerMf zi48#cBolZD_h`{Q>CNtT4l#tLs3-p}KO>V=+S9Jda-N4!yUX2=K?Umm)x_N{IZA&wn$Qh|r3X=vTGZ%aLv0_0#bMf*6W2WkTiDT6FDX;60N1My>2@ zS4#M1i4C342DwiXvtNBZU7HGYs<38Ib0^R7#$_4N+{<`q!ij$=81+(#*7@us?ZhyD zCA-Q@#tSa-1ICq~%YhIbId4E!Pv$`DbQ4CLGBz5-~?vagddmG73k0zr_iHg5fFXlJk z)Si+V%j@C8Zyi`@T0qBHt%z@`DAZraV&RaSANXvs@4y*K$9=us5LYX~ z8w)5SS8@TB`l#AOvfO1#aLD!D{EwrDjr_`x(^z^UN?a}KhjzxE+ Zi1o?5$NR + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::ComposeSource Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::ComposeSource, including all inherited members.

    + + + + + + + + + + + + + + + + + + + +
    bucket (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    BuildHeaders(size_t object_size, std::string etag) (defined in minio::s3::ComposeSource)minio::s3::ComposeSource
    CopyHeaders() (defined in minio::s3::ObjectConditionalReadArgs)minio::s3::ObjectConditionalReadArgs
    extra_headers (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    extra_query_params (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    Headers() (defined in minio::s3::ComposeSource)minio::s3::ComposeSource
    length (defined in minio::s3::ObjectConditionalReadArgs)minio::s3::ObjectConditionalReadArgs
    match_etag (defined in minio::s3::ObjectConditionalReadArgs)minio::s3::ObjectConditionalReadArgs
    modified_since (defined in minio::s3::ObjectConditionalReadArgs)minio::s3::ObjectConditionalReadArgs
    not_match_etag (defined in minio::s3::ObjectConditionalReadArgs)minio::s3::ObjectConditionalReadArgs
    object (defined in minio::s3::ObjectArgs)minio::s3::ObjectArgs
    ObjectSize() (defined in minio::s3::ComposeSource)minio::s3::ComposeSource
    offset (defined in minio::s3::ObjectConditionalReadArgs)minio::s3::ObjectConditionalReadArgs
    region (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    ssec (defined in minio::s3::ObjectReadArgs)minio::s3::ObjectReadArgs
    unmodified_since (defined in minio::s3::ObjectConditionalReadArgs)minio::s3::ObjectConditionalReadArgs
    Validate() (defined in minio::s3::ObjectArgs)minio::s3::ObjectArgs
    version_id (defined in minio::s3::ObjectVersionArgs)minio::s3::ObjectVersionArgs
    + + + + diff --git a/structminio_1_1s3_1_1ComposeSource.html b/structminio_1_1s3_1_1ComposeSource.html new file mode 100644 index 0000000..ac802da --- /dev/null +++ b/structminio_1_1s3_1_1ComposeSource.html @@ -0,0 +1,175 @@ + + + + + + + +MinIO C++ SDK: minio::s3::ComposeSource Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::ComposeSource Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::ComposeSource:
    +
    +
    + + +minio::s3::ObjectConditionalReadArgs +minio::s3::ObjectReadArgs +minio::s3::ObjectVersionArgs +minio::s3::ObjectArgs +minio::s3::BucketArgs +minio::s3::BaseArgs + +
    + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

    +error::Error BuildHeaders (size_t object_size, std::string etag)
     
    +size_t ObjectSize ()
     
    +utils::Multimap Headers ()
     
    - Public Member Functions inherited from minio::s3::ObjectConditionalReadArgs
    +utils::Multimap Headers ()
     
    +utils::Multimap CopyHeaders ()
     
    - Public Member Functions inherited from minio::s3::ObjectArgs
    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::BucketArgs
    +error::Error Validate ()
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Additional Inherited Members

    - Public Attributes inherited from minio::s3::ObjectConditionalReadArgs
    +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
     
    - Public Attributes inherited from minio::s3::ObjectReadArgs
    +SseCustomerKeyssec = NULL
     
    - Public Attributes inherited from minio::s3::ObjectVersionArgs
    +std::string version_id
     
    - Public Attributes inherited from minio::s3::ObjectArgs
    +std::string object
     
    - Public Attributes inherited from minio::s3::BucketArgs
    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/args.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1ComposeSource.png b/structminio_1_1s3_1_1ComposeSource.png new file mode 100644 index 0000000000000000000000000000000000000000..9057625e7ed2c27a16feb77490da8f18b7626188 GIT binary patch literal 2483 zcmcImdpOkF8vd!a!j5(+4hLOEwuCLaX2z`&@l&~sk=$lfE~yw~$Y8WpoI+|e+Qt}N zT#7LwCQK7$tFQ-$#x#vvm~j~lW_}7=_UNgeb9(kU&-v%9=ULD9t!J(E{qe5%d*5}% z)!AXKvX(Lc0Bb=30)WD)H7n(rnqQTdJZQQeM%ynfEy>f7aR{IB{JK2*H0$f@ zzq`_{Ctt3KLOHtw@`bCE3g(G`lviT0j zzo~uyj>H;-WF)i*rz{6PcC3|)n-%lvNMhB@W z9ibqBq5%aJ=|4o$EyhI_tYPtdjV#uQQWEA>Loo*1rcTeQqrC-|-DGiZ2|5x}OJD`- zj~dz(#?&Ev*!I@skb8fqH5y(n#zU&>Yk4Jl%?;^q#VUzu6;v7xLDK;ODPSWn6IODV zVD0YtqGGOfbr63oQ&DWONHQJ~- z_z;NCRH?5{D~+l7ege+y4S-kl^%IDZE8hHX#QTh6eaLT`gVpQwL(t33y8J}smym6d z!Gp?mW7?hE`0N+a=L&xbq_eznQ~gz>s8_Lk*3$&3(%UVd2dmTo)P8P6jDbWR?o{{0 z^lH#!a=4uIXpuVCHiP}BdZuvLk~0`W{HKqex9*L6?QUKU4|@XK!hOoctL`)qopOeX z^d0dfB3|B!M+}(G^uB+EmGpdVSVHpr0I`a8C#DD?r3xz_v{BIEqpb`@E%rRUxYHO+ zq27)8wY`VRajPAJf+ma$ZfD^(4%^&8QnceFo5xaQHns0(%8zm#&C!dKc$ZeZvow>h z9_)oHi|Lh<)nKX_R{_(JwqM-?F@3P4+IUbhK2&fzD?caRD2^mkTP9Q^1Z&!niAgh4 zRjG&90BJ362)A0=i6_NJqPH!qWegh_T=4tr=KhAOUwWTqH9`v7vX^|9jPh>Rnw52p82_--b2UFJKPv?iec059Wc=~&BKomxa%?`_ z+5ADww#4gre$W=M_T?bo-8Cds67Jc>7mrlMm3h;>YezQfmUV4d7Sg6BR94A(h< z2cN#qRCi?$@iL{csRExIZ2?Szn%mo0<8lhQ2P25HWaB2;QO&~C$SLxCa>HK zPI|l}lb~mb)E`~dJ9mW`sN_QsuuVYt9HUpzbO~L zt#ZiZ)}6%{T{+_iXSIFXT$};ce^%1J02`71ts7PFK8q{vu%|RoOTh68W1ge1YQTYS84dAfaXjvxyxTe?bX9!WLVXY5DIMg$>ypvod&wuV=g*)yDJ_duM(QU(T7 zpnEFp=X<4+r-%aADn{>d+qkL^g_t@7E7ftoaoHw00XMcQLv=8TeQLIeX>R&Ad5xg zh$fe9AkQnJ19Fy^Sasff(mWGR!D4SV35{bti~H4t5&8 z;Ut-E7(UF_R$|}t^qe77cDL%*ucZ1=7cNbn=n2EFC?GEix&=QHOA#%jM_Vri{kZfG z?mgkuL@qVQaCB#LNrGr-72*bt{Tc#VgTk#Z;QBwCzi%S;z?$RekAOy%;s literal 0 HcmV?d00001 diff --git a/structminio_1_1s3_1_1CopyObjectArgs-members.html b/structminio_1_1s3_1_1CopyObjectArgs-members.html new file mode 100644 index 0000000..1dff730 --- /dev/null +++ b/structminio_1_1s3_1_1CopyObjectArgs-members.html @@ -0,0 +1,97 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::CopyObjectArgs Member List
    +
    + + + + + diff --git a/structminio_1_1s3_1_1CopyObjectArgs.html b/structminio_1_1s3_1_1CopyObjectArgs.html new file mode 100644 index 0000000..4fb7be0 --- /dev/null +++ b/structminio_1_1s3_1_1CopyObjectArgs.html @@ -0,0 +1,166 @@ + + + + + + + +MinIO C++ SDK: minio::s3::CopyObjectArgs Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::CopyObjectArgs Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::CopyObjectArgs:
    +
    +
    + + +minio::s3::ObjectWriteArgs +minio::s3::ObjectArgs +minio::s3::BucketArgs +minio::s3::BaseArgs + +
    + + + + + + + + + + + + + +

    +Public Member Functions

    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::ObjectWriteArgs
    +utils::Multimap Headers ()
     
    - Public Member Functions inherited from minio::s3::ObjectArgs
    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::BucketArgs
    +error::Error Validate ()
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +CopySource source
     
    +Directive * metadata_directive = NULL
     
    +Directive * tagging_directive = NULL
     
    - Public Attributes inherited from minio::s3::ObjectWriteArgs
    +utils::Multimap headers
     
    +utils::Multimap user_metadata
     
    +Ssesse = NULL
     
    +std::map< std::string, std::string > tags
     
    +Retentionretention = NULL
     
    +bool legal_hold = false
     
    - Public Attributes inherited from minio::s3::ObjectArgs
    +std::string object
     
    - Public Attributes inherited from minio::s3::BucketArgs
    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/args.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1CopyObjectArgs.png b/structminio_1_1s3_1_1CopyObjectArgs.png new file mode 100644 index 0000000000000000000000000000000000000000..8d143948f1a38f7034e52643be21d07baecc8a7c GIT binary patch literal 1641 zcmaKt4K&kh9LN8%@sEUZn!ME2ta20G%Imzel=ZiTmb#O-L<+Uan0dX~#d!BQi=kt7j=SlT+$7^XA zXaE491#R0xQu+d=$w5_R@7rR0Lh1B9iC$Z0XJ?h+2g!I8>%m!N^vxO?8jz{o%aubg zlH|SE*jM(D!jc_kO$XVzcv$c$19Y-kYk2GYCD*Sd zZ!U^!Ue`^MoHr7a+-gzX&Bn8LR8quMUtZN{%4@}8m5>w4Y%5eKiMuUL?bvhXp7o_;2ODHzWW-trbd;>1dwm$BmC8D*> zqj~BC_U@|SP=S%-a01ke-X+v6A|5j?Gfl|NKGIaL=g=Dh4awU;(acKsh=*__Veb4o znWoxld---A3mWh-Kue2+!D@b&T%l=^NHuh~)c0N>Mk7=lj{lOBqJxm>Fo0#7bsAj2 zd2|p5Xq$jylYf)4k@@|c(U!BAQ2))Iu*2~J(-=DDf<+h{1{E*;tT<=N9PBh;R+op7+et0z?Xx=Th|7G0WQR#vSidE^GaPvCXn4>1tcjp#87FJpkxn)~5FK3j=j&D8JevwK zJmWkpI`xMIy{-c$PELXT)AoGYLwMtg?@zvU-2i8mn)tE<5E4S;H3vmBb|O*r)mlZU z)8=Y2-T!0s13>u%g36Bxc?@r~G+7NTn?rVAkBG8@Dz6Bf$a})6BOm(@88f*`URXwJ zt$V-&8Wi@_Nj#8@=0&9^6mb(Jp$~Qqac?~;$*)K}H12X#7#yBMm8Xhp8dp}|jMu~D zlw0=PPNA|{_HC!nUs>Fz6x9+RLlNJafnua{sx@7(`E#P8R^1Op3W?WHI5^gU(O5vE z*5FC-dn~?Nz0x(5u8!qti+J#f=fxLp_B+yZn(+KCV$8rv%%G}5k`Qe()QTJt4fUcF z5Fqv7nl7y~!a<*P8Spz3C9lR67pVNjs!z>X}T^^mH#ZF z9{~N3RKzjt1{^j7L+tE1z0UE9?*ao^M>@oq0V-nauy?hd-54) z?Gb;C;lZf*J$-5DEYeO3WC~8odYLG&V+Q)!_By_Gy1IWd7i+6$o+te@GqiBHc(=j0 zBl*bmu}#_D-D3tkxM{a+Wtx&_cU>fA(2AD&1TppdObW6`<#zq$fRhEL37Ow-y@bc1 z=IJM~J_8qWI+4p+PqYr8d=>rH9RGFY`VIL1tjnK~zUf^|G~?!&sI(CN*-^Xqu(lvS zXMeyvpu@;x!ldVMNuPylJxfeg3=$S(ulB&BzoS0f0yNzFNQ`BTcY_@m&yBp6lKcdxS)C|uK=Xn6S<*McUGl|Cm z%Aiu4y79shh0E7txTMxae^+PYs1}>#Hu`zFd?;y!e;CO{`7Z#_R`)G8H}7Tq1w)?w A5&!@I literal 0 HcmV?d00001 diff --git a/structminio_1_1s3_1_1CreateMultipartUploadArgs-members.html b/structminio_1_1s3_1_1CreateMultipartUploadArgs-members.html new file mode 100644 index 0000000..962e36b --- /dev/null +++ b/structminio_1_1s3_1_1CreateMultipartUploadArgs-members.html @@ -0,0 +1,88 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::CreateMultipartUploadArgs Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::CreateMultipartUploadArgs, including all inherited members.

    + + + + + + + + +
    bucket (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    extra_headers (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    extra_query_params (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    headers (defined in minio::s3::CreateMultipartUploadArgs)minio::s3::CreateMultipartUploadArgs
    object (defined in minio::s3::ObjectArgs)minio::s3::ObjectArgs
    region (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    Validate() (defined in minio::s3::ObjectArgs)minio::s3::ObjectArgs
    + + + + diff --git a/structminio_1_1s3_1_1CreateMultipartUploadArgs.html b/structminio_1_1s3_1_1CreateMultipartUploadArgs.html new file mode 100644 index 0000000..22e52d0 --- /dev/null +++ b/structminio_1_1s3_1_1CreateMultipartUploadArgs.html @@ -0,0 +1,131 @@ + + + + + + + +MinIO C++ SDK: minio::s3::CreateMultipartUploadArgs Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::CreateMultipartUploadArgs Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::CreateMultipartUploadArgs:
    +
    +
    + + +minio::s3::ObjectArgs +minio::s3::BucketArgs +minio::s3::BaseArgs + +
    + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +utils::Multimap headers
     
    - Public Attributes inherited from minio::s3::ObjectArgs
    +std::string object
     
    - Public Attributes inherited from minio::s3::BucketArgs
    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    + + + + + + + +

    +Additional Inherited Members

    - Public Member Functions inherited from minio::s3::ObjectArgs
    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::BucketArgs
    +error::Error Validate ()
     
    +
    The documentation for this struct was generated from the following file:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1CreateMultipartUploadArgs.png b/structminio_1_1s3_1_1CreateMultipartUploadArgs.png new file mode 100644 index 0000000000000000000000000000000000000000..f5d810d64a2dc0487570c62c5ea3067632876c7d GIT binary patch literal 1418 zcma)+X;4#V6ozj^DMcwR)MDwd*nm|A>sSn%fS`yMA!>qxfQUrVf+VboHX2bF5m_QP z0!k!d2`EbfLgf+@AQgm?2#$dSFu9;;2nazS1&Tsxy4aa6KYC`)Hs||u-g&;0b`a}r zWcaxu002hdzCAcyR_I)0pr?xueTTQ`lIcNTf3KybC0#i(K9fj)bVFDD?jn(BMVit= z*BT_?uy{cC=r@yz{kH?aiVff%5C3y0O~ELXY`I#WNv{wteM$1)HMy_YNnR9@K46I| z=vwu2o+)A6q!^u;CIBHh6`Nbw=xFT=ThO`9cpB3h9B%F+(0^GH zr$*WwamqOw=8P2gE(*5)dWmgw5*{7smX+A=m%5P}GCdiClM7Olp6^XUFE+Az4^9Md zvpLB^hQo@^=rzLw*s8hUkEt4rc5gOKrUCtOuS*_z39}dJ`8Pdf7=(=LU)9C$2Zv5Y zO{Xd1=8Mg%9}G&f1GWz1w^#M#M(a6h*gTc_tu`-ABLeI!XT ziPn6oDCF$?c+@Isv0O8!=Aaj|x=Dg`f!$mUy77rjn=1~4J|Ps^SdW_gwI5>FX8L~l z3yKnOE+xPU?s0w=G7*W0XU2!s=p?WICEEv8FQoj7Hdb)o2$&yiF!R}5<<#~}uH0A8 z1%^0;3l5~+w^lBZ_u*vHlmi_Fab_0mE5f<>20zHBIis^bsCt8Y8I8;|-+pXIe;y~# zQH{}en9uZ3l@*qi-m4fxcF5X=wYP1-RL9#o?6?}uM5{B&jF=OE7jAmoG&0Mvk>rn_ zD@Wewo#usr&f;Dr8P5-@d*@>q$q(`4;hoeGlxD7ycYjdq6p(Z18~?^Z%+rnwTk1a& z)1z>Zn6aD{wHw#GzNToIl;jaM{ehuv>G8HVYU7o6 zH@s?Js3upkZmHcS_aDt6g|9-U2dtdH>U vCQ9mxDut!BjTvSl_`?^z3KI;h5;`p2_oUR(?P?F`4krM5VfXMn!>;@aK1$aZ literal 0 HcmV?d00001 diff --git a/structminio_1_1s3_1_1CreateMultipartUploadResponse-members.html b/structminio_1_1s3_1_1CreateMultipartUploadResponse-members.html new file mode 100644 index 0000000..5fc3371 --- /dev/null +++ b/structminio_1_1s3_1_1CreateMultipartUploadResponse-members.html @@ -0,0 +1,102 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::CreateMultipartUploadResponse Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::CreateMultipartUploadResponse, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + +
    bucket_name (defined in minio::s3::Response)minio::s3::Response
    code (defined in minio::s3::Response)minio::s3::Response
    CreateMultipartUploadResponse(std::string uploadid) (defined in minio::s3::CreateMultipartUploadResponse)minio::s3::CreateMultipartUploadResponse
    CreateMultipartUploadResponse(error::Error err) (defined in minio::s3::CreateMultipartUploadResponse)minio::s3::CreateMultipartUploadResponse
    CreateMultipartUploadResponse(const Response &response) (defined in minio::s3::CreateMultipartUploadResponse)minio::s3::CreateMultipartUploadResponse
    data (defined in minio::s3::Response)minio::s3::Response
    error (defined in minio::s3::Response)minio::s3::Response
    GetError() (defined in minio::s3::Response)minio::s3::Response
    headers (defined in minio::s3::Response)minio::s3::Response
    host_id (defined in minio::s3::Response)minio::s3::Response
    message (defined in minio::s3::Response)minio::s3::Response
    object_name (defined in minio::s3::Response)minio::s3::Response
    operator bool() const (defined in minio::s3::Response)minio::s3::Responseinline
    ParseXML(std::string_view data, int status_code, utils::Multimap headers) (defined in minio::s3::Response)minio::s3::Responsestatic
    request_id (defined in minio::s3::Response)minio::s3::Response
    resource (defined in minio::s3::Response)minio::s3::Response
    Response() (defined in minio::s3::Response)minio::s3::Response
    Response(error::Error err) (defined in minio::s3::Response)minio::s3::Response
    Response(const Response &response) (defined in minio::s3::Response)minio::s3::Response
    status_code (defined in minio::s3::Response)minio::s3::Response
    upload_id (defined in minio::s3::CreateMultipartUploadResponse)minio::s3::CreateMultipartUploadResponse
    + + + + diff --git a/structminio_1_1s3_1_1CreateMultipartUploadResponse.html b/structminio_1_1s3_1_1CreateMultipartUploadResponse.html new file mode 100644 index 0000000..186a344 --- /dev/null +++ b/structminio_1_1s3_1_1CreateMultipartUploadResponse.html @@ -0,0 +1,168 @@ + + + + + + + +MinIO C++ SDK: minio::s3::CreateMultipartUploadResponse Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::CreateMultipartUploadResponse Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::CreateMultipartUploadResponse:
    +
    +
    + + +minio::s3::Response + +
    + + + + + + + + + + + + + + + + + +

    +Public Member Functions

    CreateMultipartUploadResponse (std::string uploadid)
     
    CreateMultipartUploadResponse (error::Error err)
     
    CreateMultipartUploadResponse (const Response &response)
     
    - Public Member Functions inherited from minio::s3::Response
    Response (error::Error err)
     
    Response (const Response &response)
     
    operator bool () const
     
    +std::string GetError ()
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +std::string upload_id
     
    - Public Attributes inherited from minio::s3::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
     
    + + + + +

    +Additional Inherited Members

    - Static Public Member Functions inherited from minio::s3::Response
    +static Response ParseXML (std::string_view data, int status_code, utils::Multimap headers)
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/response.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/response.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1CreateMultipartUploadResponse.png b/structminio_1_1s3_1_1CreateMultipartUploadResponse.png new file mode 100644 index 0000000000000000000000000000000000000000..addd02cfb161061f6ab9fb087c83059bc8091791 GIT binary patch literal 766 zcmeAS@N?(olHy`uVBq!ia0vp^-+?%QgBeJE@)kA+QW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;|H=72 z0unC5!q@jk8%KX(6Da62Ijnuz#Fy`=isw6#JCmNcAJp}%E3qnO=^z&z= z+x|(_hnZ5%!i{cU+F^NZ4k>hyAkvXC9}Q_qyF*Drb2Jgw?wc5-!| zL!ryx>qX}IC-QTaJ^3ed*`h`;&4bSBJej-tlIC(qW;r*Jo74HfOSBncB7+ zL|ov>nH}ADqqAA#Z3|1T;q4s1I~pI(PR`$bW>emr`m%cFIm`cUuNS&qUEC!7psMmI+Yeq=^9FekKD)ifOLOOCd(OEg Vw`xwFuK^}j22WQ%mvv4FO#t?0fMfsw literal 0 HcmV?d00001 diff --git a/structminio_1_1s3_1_1DownloadObjectArgs-members.html b/structminio_1_1s3_1_1DownloadObjectArgs-members.html new file mode 100644 index 0000000..7af041a --- /dev/null +++ b/structminio_1_1s3_1_1DownloadObjectArgs-members.html @@ -0,0 +1,91 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::DownloadObjectArgs Member List
    +
    + + + + + diff --git a/structminio_1_1s3_1_1DownloadObjectArgs.html b/structminio_1_1s3_1_1DownloadObjectArgs.html new file mode 100644 index 0000000..f98622d --- /dev/null +++ b/structminio_1_1s3_1_1DownloadObjectArgs.html @@ -0,0 +1,149 @@ + + + + + + + +MinIO C++ SDK: minio::s3::DownloadObjectArgs Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::DownloadObjectArgs Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::DownloadObjectArgs:
    +
    +
    + + +minio::s3::ObjectReadArgs +minio::s3::ObjectVersionArgs +minio::s3::ObjectArgs +minio::s3::BucketArgs +minio::s3::BaseArgs + +
    + + + + + + + + + + +

    +Public Member Functions

    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::ObjectArgs
    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::BucketArgs
    +error::Error Validate ()
     
    + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +std::string filename
     
    +bool overwrite
     
    - Public Attributes inherited from minio::s3::ObjectReadArgs
    +SseCustomerKeyssec = NULL
     
    - Public Attributes inherited from minio::s3::ObjectVersionArgs
    +std::string version_id
     
    - Public Attributes inherited from minio::s3::ObjectArgs
    +std::string object
     
    - Public Attributes inherited from minio::s3::BucketArgs
    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/args.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1DownloadObjectArgs.png b/structminio_1_1s3_1_1DownloadObjectArgs.png new file mode 100644 index 0000000000000000000000000000000000000000..34173478a585eb760328e654d880e8de121ad303 GIT binary patch literal 2061 zcmchYeK6bE8po5CQeCC@QcBS+Rs~CUxGpNTh=|sENK1vKFPBiIv_x&)c3btD6}GC4 zMv1C~l+sI6iL{m!ZL=y#U)0M=z2q06$WNLe*|@iN=FZ%io&9Ui%$eu=ojG%6&S%c^ zeF{Q?kh(f1IuHm%7v=98rmhSK1nQ){S*=`)Z}qE-amZmbLZwovrk4pAT4So{I>HxP&x3FUhboduOtkCcjG`kF;oDpaZu!cR|o^MucX z6dH|4o`%!JCX=;*;{7kTh7wQy%(w10!Bkq|#xQ!-BnruU-^~Lmt440GC5kbRfKM5)lb>Mfl!=rYb*Lgx?mE_X z7S2KL(-Ot2NacyAk-cqac)N?bBP9fDk!A-EGcKtY+a0Q>lBRzeIPo|a$j&KDHh(nh zfJ&HeW?V|Ap6v-g^E3WVm7t9_*8US^8=Rtak4pkmqH<=@!}2q1|2zIM;1j=g;6xod zCUKm34sPUR1SDQrt>Zn3*B8&&S&obI7j|srG>2}TuTBC9<4(lm97(jYgU6jg60fek zp<>8xD8__rlOOT)uK@9Q3GEQkr3hcVKWHmkmIZm<-vtmj?eoi2$LTgkaMQf&7kQra z?Qtcv%}0a)M9}G;=kj~@+kE2$(qC(>UR>L_m;N?uK%^5&}OGfJ?iNQzRQ+ zzN1FRr7MOfotcb)u(Fjc7c;u+S*0uwdwI{@sL6`p%ev#Y;=udjYG5ik4b}7t3=ZQ>;aWw`lYl67c?`K?Q9r)UloRj4`u*aO1lvl5INB zj@Tcme?aR{qQiVe!HNB8%r6R)klZ-oBL1_W+1b zH8J7#+h(-!vFivn1wPX6z?GP5td^f#fPqWzD@UZMKu^g(6eK#yhxwXT{Z9k*azS3A z>t3d4uRzPMgQwap7JV{Wjf^mq;bm9d6ln4fu(+kHW(CvKj|gXvjzkmZhjyiH0iSft z+W};(6e#*MrN(<-_-Ekl3i;g77WVZIJ72rxUN1aVt~?SgneZfLOj=;p<+a070ER-~ zse0=xHXWm@fEe<)hv=0|1q0;h%GV4@oAQ8aN@S=f7=nQ>;_P(KCDyQ5Im5BzRXgqd zPrTze4D`Sw8pbX=zfE|PvPgMg}QmTwb6gs~U^QR;athNzA~)Ps|u zg#CTC&`;)id2Ush^~D>4TrAjoAyQVrU%v`%;rzk0+{n^deQ)iv-jEwRKF4Yz|7^BX ztZq^SD~9fdZlw~lUxY+<#ojl(Bm)s*Ngd)W)p#*N6WMvq5b6#yX1O*>wE+Waf&>u Pp4|`>BFLBS9e3$BG|M=$ literal 0 HcmV?d00001 diff --git a/structminio_1_1s3_1_1GetObjectArgs-members.html b/structminio_1_1s3_1_1GetObjectArgs-members.html new file mode 100644 index 0000000..c95b258 --- /dev/null +++ b/structminio_1_1s3_1_1GetObjectArgs-members.html @@ -0,0 +1,99 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::GetObjectArgs Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::GetObjectArgs, including all inherited members.

    + + + + + + + + + + + + + + + + + + + +
    bucket (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    CopyHeaders() (defined in minio::s3::ObjectConditionalReadArgs)minio::s3::ObjectConditionalReadArgs
    data_callback (defined in minio::s3::GetObjectArgs)minio::s3::GetObjectArgs
    extra_headers (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    extra_query_params (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    Headers() (defined in minio::s3::ObjectConditionalReadArgs)minio::s3::ObjectConditionalReadArgs
    length (defined in minio::s3::ObjectConditionalReadArgs)minio::s3::ObjectConditionalReadArgs
    match_etag (defined in minio::s3::ObjectConditionalReadArgs)minio::s3::ObjectConditionalReadArgs
    modified_since (defined in minio::s3::ObjectConditionalReadArgs)minio::s3::ObjectConditionalReadArgs
    not_match_etag (defined in minio::s3::ObjectConditionalReadArgs)minio::s3::ObjectConditionalReadArgs
    object (defined in minio::s3::ObjectArgs)minio::s3::ObjectArgs
    offset (defined in minio::s3::ObjectConditionalReadArgs)minio::s3::ObjectConditionalReadArgs
    region (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    ssec (defined in minio::s3::ObjectReadArgs)minio::s3::ObjectReadArgs
    unmodified_since (defined in minio::s3::ObjectConditionalReadArgs)minio::s3::ObjectConditionalReadArgs
    user_arg (defined in minio::s3::GetObjectArgs)minio::s3::GetObjectArgs
    Validate() (defined in minio::s3::GetObjectArgs)minio::s3::GetObjectArgs
    version_id (defined in minio::s3::ObjectVersionArgs)minio::s3::ObjectVersionArgs
    + + + + diff --git a/structminio_1_1s3_1_1GetObjectArgs.html b/structminio_1_1s3_1_1GetObjectArgs.html new file mode 100644 index 0000000..28696a7 --- /dev/null +++ b/structminio_1_1s3_1_1GetObjectArgs.html @@ -0,0 +1,176 @@ + + + + + + + +MinIO C++ SDK: minio::s3::GetObjectArgs Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::GetObjectArgs Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::GetObjectArgs:
    +
    +
    + + +minio::s3::ObjectConditionalReadArgs +minio::s3::ObjectReadArgs +minio::s3::ObjectVersionArgs +minio::s3::ObjectArgs +minio::s3::BucketArgs +minio::s3::BaseArgs + +
    + + + + + + + + + + + + + + + +

    +Public Member Functions

    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::ObjectConditionalReadArgs
    +utils::Multimap Headers ()
     
    +utils::Multimap CopyHeaders ()
     
    - Public Member Functions inherited from minio::s3::ObjectArgs
    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::BucketArgs
    +error::Error Validate ()
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +http::DataCallback data_callback
     
    +void * user_arg = NULL
     
    - Public Attributes inherited from minio::s3::ObjectConditionalReadArgs
    +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
     
    - Public Attributes inherited from minio::s3::ObjectReadArgs
    +SseCustomerKeyssec = NULL
     
    - Public Attributes inherited from minio::s3::ObjectVersionArgs
    +std::string version_id
     
    - Public Attributes inherited from minio::s3::ObjectArgs
    +std::string object
     
    - Public Attributes inherited from minio::s3::BucketArgs
    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/args.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1GetObjectArgs.png b/structminio_1_1s3_1_1GetObjectArgs.png new file mode 100644 index 0000000000000000000000000000000000000000..4e2c397ad9c2f8f68677ee6ebc35207c3839d835 GIT binary patch literal 2501 zcmchZX;jl!8peZEF&>tV9kGZKI}OmVh@vbJDW{;qA0#*|Mo1ut3K9qrBU{2&wQxXz zlCa4V${2!xg0gQx6cNG_AR$Dy#1aA_0YibXD9A)Q_RMs)Z@uT-bKiUJJ@1F#``+id zN#_yvYI_ds0f9hjfWv85#mWbPl&OAo8=%1bL7-|7-ZDoyE@ zQ7e}t?PeGBFjRakM zv#Gr+ui+UE`tKP<773<_-!AV5Q}WpYNngM5mWzfFku%ESKEC3_Hs%j%7wB~a?JkBf zYv3cH7KOrF26y+47*C+G@~SI7V9f>f#YeV?(~Cs0*Fixst?PUrg(O0fo~OnCFmT zl*|txW?@)9n>*8K*=xT{X3!#bTLX)ZVt|a?#mFbT)r`mAP!eai%8z7MY`z=To+GYE z(IyB4=-C~ec%-dHn_-d4o6G^_1xK+`r0z1PWiJur1GWZL{_C-2iXzwkDyV!rv#krc zWs&YPIt!E;7f+{4Z2;4p^w~*YV}MB32#_7P1`eMKwiQT`zP41`VNw!q)tJj?k^cm7FptrqxGWw)1EYyTIPgt5M4Gd`t6ZzLct=r2-++1;W z5ehm!V9iSX2*d~|F0>T#arh2uT$s3|*VPjXrU09<0nwg%}yKZE}o2NN~wS60540(7KO@9r^ zu%Dy`A;~^(;;Quli0&W6PxyO&s>+<#Z?UA?DwUZuJ5~>0K40$Qn+P?VucJaAJ5;Vs zaJ7*I!h`ReUg~)iV_sodb%a+ooH&t{(S03RPUp05cS zU~HSXHozk<1UNbMXGZ&-km*OM>@#@$@UW|6Rdl&!J=l0~{547CuQs&RK?X9lmVUPP z{8Dp0>BbR4uL~WN2V+7RYMo#1v|TLW?{6 z2QlaTJ9D1>3NQDp2LEdy0&Y#>`Cj<7b3J4Oms*z+1P_Qpr)kT?4||`kzx@q5Z%d+o zE#zLg76W!`R&scZd?o54{vO`-pwIyFEr81tOrRmGW0aMU42>$IAWbrjbc$-N%k?KE zHdpoWQ>hcAKEFP;N9AHz4lV4mN=z-6KD6Q%3kB^;2$!^S!R^l1YD*~Re|B)=~ zTKKTHKavsn^lEVmzhMpyqx+MG>Y}PjOK-!aFHi}R2LLwj&~e!~sy@13*T8DR-vy{0 z;s0C_TwVVlfM}&;z^vgKX2(1IrCwIufyZpp6n&5WVX4B$v-r?ai{6Lw3C)s>+`96J zoB@Vcv>X1JWyJn;vQeexjCoO*K%lx5xq7O&-h$+j(?4fTik;U9EH+mtOw^D%*Ti-5 zgvo!(Z{pRx(8i5&~h zM?jnGdcKHVixCiSd-ul{NIRI|H`)K!;QqNJCF!n?o3=Z|pKMWN#yC0SyCUzcN?gJ& znx06*XWie$|FB%h* z>xF^=5;UPPTuEofzDi{Q{OMaD?Z-O8 + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::GetRegionResponse Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::GetRegionResponse, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + +
    bucket_name (defined in minio::s3::Response)minio::s3::Response
    code (defined in minio::s3::Response)minio::s3::Response
    data (defined in minio::s3::Response)minio::s3::Response
    error (defined in minio::s3::Response)minio::s3::Response
    GetError() (defined in minio::s3::Response)minio::s3::Response
    GetRegionResponse(std::string regionvalue) (defined in minio::s3::GetRegionResponse)minio::s3::GetRegionResponse
    GetRegionResponse(error::Error err) (defined in minio::s3::GetRegionResponse)minio::s3::GetRegionResponse
    GetRegionResponse(const Response &response) (defined in minio::s3::GetRegionResponse)minio::s3::GetRegionResponse
    headers (defined in minio::s3::Response)minio::s3::Response
    host_id (defined in minio::s3::Response)minio::s3::Response
    message (defined in minio::s3::Response)minio::s3::Response
    object_name (defined in minio::s3::Response)minio::s3::Response
    operator bool() const (defined in minio::s3::Response)minio::s3::Responseinline
    ParseXML(std::string_view data, int status_code, utils::Multimap headers) (defined in minio::s3::Response)minio::s3::Responsestatic
    region (defined in minio::s3::GetRegionResponse)minio::s3::GetRegionResponse
    request_id (defined in minio::s3::Response)minio::s3::Response
    resource (defined in minio::s3::Response)minio::s3::Response
    Response() (defined in minio::s3::Response)minio::s3::Response
    Response(error::Error err) (defined in minio::s3::Response)minio::s3::Response
    Response(const Response &response) (defined in minio::s3::Response)minio::s3::Response
    status_code (defined in minio::s3::Response)minio::s3::Response
    + + + + diff --git a/structminio_1_1s3_1_1GetRegionResponse.html b/structminio_1_1s3_1_1GetRegionResponse.html new file mode 100644 index 0000000..3211713 --- /dev/null +++ b/structminio_1_1s3_1_1GetRegionResponse.html @@ -0,0 +1,168 @@ + + + + + + + +MinIO C++ SDK: minio::s3::GetRegionResponse Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::GetRegionResponse Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::GetRegionResponse:
    +
    +
    + + +minio::s3::Response + +
    + + + + + + + + + + + + + + + + + +

    +Public Member Functions

    GetRegionResponse (std::string regionvalue)
     
    GetRegionResponse (error::Error err)
     
    GetRegionResponse (const Response &response)
     
    - Public Member Functions inherited from minio::s3::Response
    Response (error::Error err)
     
    Response (const Response &response)
     
    operator bool () const
     
    +std::string GetError ()
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +std::string region
     
    - Public Attributes inherited from minio::s3::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
     
    + + + + +

    +Additional Inherited Members

    - Static Public Member Functions inherited from minio::s3::Response
    +static Response ParseXML (std::string_view data, int status_code, utils::Multimap headers)
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/response.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/response.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1GetRegionResponse.png b/structminio_1_1s3_1_1GetRegionResponse.png new file mode 100644 index 0000000000000000000000000000000000000000..4214397f9e86336ad952b71916d6842de31dc5f0 GIT binary patch literal 685 zcmeAS@N?(olHy`uVBq!ia0vp^n}IlhgBeJsN^N-yq$C1-LR|m<{|{uoc=NTi|Ih>= z3ycpOIKbL@M;^%KC<*clW&kPzfvcxNj2IZ0Y&=~YLn;{G&b`?8T7k!fUwGyJ|0lO+ z3Lg--RwcZLtFKWwc~1DW)JQeqZWZ693DZ>SSvRZve63V$^}9rzn+)Q z?y@|moph|GRA#|>!{w!~d!OIDf6_;ycz^o6KievQALzT~JZVXzpV9tnb;avnKU=19 z*(gGCdtF)Hq*rCHBF-I)^js?Yws6ABYP;!@WeNZ58Y?GAM`!K1Ia_?iv>Ws0d-wgG z!M^Z(;2WW%zohLwrCy)A^W%ukspn~h-|w6#-!HS?aPBJUzbT%-R>=S7yBDy&Idamz z47W7TU;ZGcYR^zT8SnorHFDZcmIsU352VbR@blvg{wk+u>Yqw37#q3YW%$9#YTU5D zN%BDaL7oTe6WBh48!-RSp27G>^bEs4t~7>vRB117&7~(@m}YpvRG*JI*1SDZf1R#% z+Na-X%*#rrC7U;_-zE3_>i$Z7;~X6ZcdM6d7qpD`TS=eaynpgdjdy=@R%cvq-&qzG ze1BQe3bFh!&taZEv=`yLk1P!*?_|u1-m^OxuG-b#oD=l-ZAd~wDX|VOzEF&)15ahi_!YTS-)O-n@Sxp47b^TleO7< z)Y85D**7-^p0DmRX8YS7h^TLsd=LihP7(8A5T-G@y GGywoa?nYby literal 0 HcmV?d00001 diff --git a/structminio_1_1s3_1_1Item-members.html b/structminio_1_1s3_1_1Item-members.html new file mode 100644 index 0000000..8f99323 --- /dev/null +++ b/structminio_1_1s3_1_1Item-members.html @@ -0,0 +1,114 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::Item Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::Item, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    bucket_name (defined in minio::s3::Response)minio::s3::Response
    code (defined in minio::s3::Response)minio::s3::Response
    data (defined in minio::s3::Response)minio::s3::Response
    encoding_type (defined in minio::s3::Item)minio::s3::Item
    error (defined in minio::s3::Response)minio::s3::Response
    etag (defined in minio::s3::Item)minio::s3::Item
    GetError() (defined in minio::s3::Response)minio::s3::Response
    headers (defined in minio::s3::Response)minio::s3::Response
    host_id (defined in minio::s3::Response)minio::s3::Response
    is_delete_marker (defined in minio::s3::Item)minio::s3::Item
    is_latest (defined in minio::s3::Item)minio::s3::Item
    is_prefix (defined in minio::s3::Item)minio::s3::Item
    Item() (defined in minio::s3::Item)minio::s3::Item
    Item(error::Error err) (defined in minio::s3::Item)minio::s3::Item
    Item(const Response &response) (defined in minio::s3::Item)minio::s3::Item
    last_modified (defined in minio::s3::Item)minio::s3::Item
    message (defined in minio::s3::Response)minio::s3::Response
    name (defined in minio::s3::Item)minio::s3::Item
    object_name (defined in minio::s3::Response)minio::s3::Response
    operator bool() const (defined in minio::s3::Response)minio::s3::Responseinline
    owner_id (defined in minio::s3::Item)minio::s3::Item
    owner_name (defined in minio::s3::Item)minio::s3::Item
    ParseXML(std::string_view data, int status_code, utils::Multimap headers) (defined in minio::s3::Response)minio::s3::Responsestatic
    request_id (defined in minio::s3::Response)minio::s3::Response
    resource (defined in minio::s3::Response)minio::s3::Response
    Response() (defined in minio::s3::Response)minio::s3::Response
    Response(error::Error err) (defined in minio::s3::Response)minio::s3::Response
    Response(const Response &response) (defined in minio::s3::Response)minio::s3::Response
    size (defined in minio::s3::Item)minio::s3::Item
    status_code (defined in minio::s3::Response)minio::s3::Response
    storage_class (defined in minio::s3::Item)minio::s3::Item
    user_metadata (defined in minio::s3::Item)minio::s3::Item
    version_id (defined in minio::s3::Item)minio::s3::Item
    + + + + diff --git a/structminio_1_1s3_1_1Item.html b/structminio_1_1s3_1_1Item.html new file mode 100644 index 0000000..4a1faa2 --- /dev/null +++ b/structminio_1_1s3_1_1Item.html @@ -0,0 +1,201 @@ + + + + + + + +MinIO C++ SDK: minio::s3::Item Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::Item Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::Item:
    +
    +
    + + +minio::s3::Response + +
    + + + + + + + + + + + + + + + +

    +Public Member Functions

    Item (error::Error err)
     
    Item (const Response &response)
     
    - Public Member Functions inherited from minio::s3::Response
    Response (error::Error err)
     
    Response (const Response &response)
     
    operator bool () const
     
    +std::string GetError ()
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +std::string etag
     
    +std::string name
     
    +utils::Time last_modified
     
    +std::string owner_id
     
    +std::string owner_name
     
    +size_t size = 0
     
    +std::string storage_class
     
    +bool is_latest = false
     
    +std::string version_id
     
    +std::map< std::string, std::string > user_metadata
     
    +bool is_prefix = false
     
    +bool is_delete_marker = false
     
    +std::string encoding_type
     
    - Public Attributes inherited from minio::s3::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
     
    + + + + +

    +Additional Inherited Members

    - Static Public Member Functions inherited from minio::s3::Response
    +static Response ParseXML (std::string_view data, int status_code, utils::Multimap headers)
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/response.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/response.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1Item.png b/structminio_1_1s3_1_1Item.png new file mode 100644 index 0000000000000000000000000000000000000000..0d4113a63bda04b1aacf7523779e3bbdedfb04d3 GIT binary patch literal 510 zcmeAS@N?(olHy`uVBq!ia0vp^l|UT8!3-q1+O=ANlth3}i0l9V|AEXGZ@!lHADRGU zf$@O@2Ut7r$OE|?B|(0{3_wL7aP?G(5d#BbucwP+NCo5Dxv$T?GT>o3F5UUP{)zJ~ z6Y;8_84Ect8GhUr*-WX^FHirwy1v(R<+i7{ zLeCnBMpx(g9r$EDy`$`MU98&s5^K}yeFsmQt`d1^v;DV7<#OJgi$Y&V|3CIVXM6vN z>iwU+Kbh~I`+T#>n#wQNa@IG$|HWVZ{%_ePm9LW~tFD~hHp!VIv4uhJHKT#c;S>GG zHNF^p61L&6?fVmdZrfzWT_;a6?0u5b5Laa6pl>O;VEP=M3*LTgFI3f;=S-Y=Qy`In z86^8FwaD`R$DZVlu+|YV^^gDn literal 0 HcmV?d00001 diff --git a/structminio_1_1s3_1_1ListBucketsResponse-members.html b/structminio_1_1s3_1_1ListBucketsResponse-members.html new file mode 100644 index 0000000..ee65e33 --- /dev/null +++ b/structminio_1_1s3_1_1ListBucketsResponse-members.html @@ -0,0 +1,103 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::ListBucketsResponse Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::ListBucketsResponse, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + +
    bucket_name (defined in minio::s3::Response)minio::s3::Response
    buckets (defined in minio::s3::ListBucketsResponse)minio::s3::ListBucketsResponse
    code (defined in minio::s3::Response)minio::s3::Response
    data (defined in minio::s3::Response)minio::s3::Response
    error (defined in minio::s3::Response)minio::s3::Response
    GetError() (defined in minio::s3::Response)minio::s3::Response
    headers (defined in minio::s3::Response)minio::s3::Response
    host_id (defined in minio::s3::Response)minio::s3::Response
    ListBucketsResponse(std::list< Bucket > bucketlist) (defined in minio::s3::ListBucketsResponse)minio::s3::ListBucketsResponse
    ListBucketsResponse(error::Error err) (defined in minio::s3::ListBucketsResponse)minio::s3::ListBucketsResponse
    ListBucketsResponse(const Response &response) (defined in minio::s3::ListBucketsResponse)minio::s3::ListBucketsResponse
    message (defined in minio::s3::Response)minio::s3::Response
    object_name (defined in minio::s3::Response)minio::s3::Response
    operator bool() const (defined in minio::s3::Response)minio::s3::Responseinline
    ParseXML(std::string_view data) (defined in minio::s3::ListBucketsResponse)minio::s3::ListBucketsResponsestatic
    ParseXML(std::string_view data, int status_code, utils::Multimap headers) (defined in minio::s3::Response)minio::s3::Responsestatic
    request_id (defined in minio::s3::Response)minio::s3::Response
    resource (defined in minio::s3::Response)minio::s3::Response
    Response() (defined in minio::s3::Response)minio::s3::Response
    Response(error::Error err) (defined in minio::s3::Response)minio::s3::Response
    Response(const Response &response) (defined in minio::s3::Response)minio::s3::Response
    status_code (defined in minio::s3::Response)minio::s3::Response
    + + + + diff --git a/structminio_1_1s3_1_1ListBucketsResponse.html b/structminio_1_1s3_1_1ListBucketsResponse.html new file mode 100644 index 0000000..e2164c7 --- /dev/null +++ b/structminio_1_1s3_1_1ListBucketsResponse.html @@ -0,0 +1,172 @@ + + + + + + + +MinIO C++ SDK: minio::s3::ListBucketsResponse Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::ListBucketsResponse Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::ListBucketsResponse:
    +
    +
    + + +minio::s3::Response + +
    + + + + + + + + + + + + + + + + + +

    +Public Member Functions

    ListBucketsResponse (std::list< Bucket > bucketlist)
     
    ListBucketsResponse (error::Error err)
     
    ListBucketsResponse (const Response &response)
     
    - Public Member Functions inherited from minio::s3::Response
    Response (error::Error err)
     
    Response (const Response &response)
     
    operator bool () const
     
    +std::string GetError ()
     
    + + + + + + +

    +Static Public Member Functions

    +static ListBucketsResponse ParseXML (std::string_view data)
     
    - Static Public Member Functions inherited from minio::s3::Response
    +static Response ParseXML (std::string_view data, int status_code, utils::Multimap headers)
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +std::list< Bucketbuckets
     
    - Public Attributes inherited from minio::s3::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
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/response.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/response.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1ListBucketsResponse.png b/structminio_1_1s3_1_1ListBucketsResponse.png new file mode 100644 index 0000000000000000000000000000000000000000..829c8c4dd43e68d64938ea215c71246897f288ae GIT binary patch literal 688 zcmeAS@N?(olHy`uVBq!ia0vp^JAgQVgBeK9{pBwOq$C1-LR|m<{|{uoc=NTi|Ih>= z3ycpOIKbL@M;^%KC<*clW&kPzfvcxNj2IZ0>^)r^Ln;{G&VAeWT7iePU3lgD|0lL* zawL4Z=ra3joXUEOC?8&)ZHo0Xmt{%?`b;vJ#}qTkM)bj?Co6A1$Xu?za@!QC=|BA^ z&Aa|saK0t?>*b%VpM)R0yr;gc>U+42@P$kFo6`5&W;LyIkMZ34Hg`+#-|XJ&lGir;|Ht)bK}gY39rhP~7j-7q?~l>; zZ<1G8c%(Sk{M!8=o|jh6)17MkVX@SEvG1BwKN(%gnZ3|^{i(7|Dz%s8Yb@tiUT2P( zv@SEE!1LEmxO>finD}09VESRYm%;7IiU;ejFL<)JY5&gSD)M4BaiR?ItQHN+nPd(G zGx9xH$-w?0q=C6Y>i{FruMG3J3K;xRrC&@9@>1?%F_;I_pk{}T`B07?T<%0E7lv7 zwU#D)U1h!H_LGBGH%vQQ#`?cP=XJeUUb%VM&El^bI%y_@Swk~hi znEKFd)&G~rpUZY&)O<9V}q#4T8Kf4gNCQOjA#Y7ws|tCNBn0S3j3^P6 + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::ListObjectVersionsArgs Member List
    +
    + + + + + diff --git a/structminio_1_1s3_1_1ListObjectVersionsArgs.html b/structminio_1_1s3_1_1ListObjectVersionsArgs.html new file mode 100644 index 0000000..ced38ae --- /dev/null +++ b/structminio_1_1s3_1_1ListObjectVersionsArgs.html @@ -0,0 +1,144 @@ + + + + + + + +MinIO C++ SDK: minio::s3::ListObjectVersionsArgs Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::ListObjectVersionsArgs Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::ListObjectVersionsArgs:
    +
    +
    + + +minio::s3::ListObjectsCommonArgs +minio::s3::BucketArgs +minio::s3::BaseArgs + +
    + + + + + + + +

    +Public Member Functions

    ListObjectVersionsArgs (ListObjectsArgs args)
     
    - Public Member Functions inherited from minio::s3::BucketArgs
    +error::Error Validate ()
     
    + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +std::string key_marker
     
    +std::string version_id_marker
     
    - Public Attributes inherited from minio::s3::ListObjectsCommonArgs
    +std::string delimiter
     
    +std::string encoding_type
     
    +unsigned int max_keys = 1000
     
    +std::string prefix
     
    - Public Attributes inherited from minio::s3::BucketArgs
    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/args.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1ListObjectVersionsArgs.png b/structminio_1_1s3_1_1ListObjectVersionsArgs.png new file mode 100644 index 0000000000000000000000000000000000000000..3ba76588d8d2b2f4644c3bbc2d3203e4a2d01fd6 GIT binary patch literal 1453 zcma)+dpOez7{`A&C~>-BuBl_Gv5vbCkE3+>x#n`Tg&7*TOju+}2r)Y+8m+l3=bR_h zqcw&#;$^G2Bj-3Qr|J^P1W;Vw5>C@-8*P%2RO`(+s>`tpBvKl8&4Y_**Yq& zQr(Xv-8$FcL2^+hLN^3P4G(<%_+tTa-l#0n;7H|pl9ZbGE05Rtaca;(YA@5GNZw$&`V<8X;cB51Sli@1i}8iPzdGM5;!Q4(dFtA^ za%=Oc7y|>>B4`0K_9KeHMZd&1!hp_ROOPEhlBk~rA1^%yPI4nc`)Fq1WN*xEkdNPy z61bzu8JW_LS62|xRl5%B70#^as74k4cI<1aaEIJ3f_kUB ze*nK~!b#J9BZz>yW3gD6tqI))w6ZdmJns%AN$)NZc)a?L!a?CiYYdpBhAYBcz^+Jy z=7%b=beSR1)?A5RU={GpTH^%$=$scdsvL+mH!-?k^fykKHb8sBfW!lpOO7~63p8_> z%Q_y5WnN7u_2OfdG26=G8U9iOlug50xasZJFCv%dQ6%XpY6rH8kudN(G_!1kMfq}` z)KM~JQ2HQHO&eUTL*IdBWiY0zBsz+$@V(itHv4!}mf!dN1otb8K>r*`a8!Bg->vx8 z@7qc8bPzigz9QM=-8@U$f+3*X>d){;g3@MYS(-^I`lFM^hsoU7ikwJOFno@>w!vzT zZt7S^>6wAp@dS=8McU71cn1?z<>uooge+c0M)QOjhGTx#GWa%pa5Xd&;W$qeGQC~& z`}~IL?_wC$brfwgAF!5oqbvp{48G+kIL@^>*gsUzQyyJwvJm2aGTEO$mhfpAs!L`H zsI^g8l@Ep4i~j#qxplmzz+pkl^8NGkC!tak(j)_d3>KWZMc84+w67 zf{`$SbFYePDo_}QR8*W{?4QE#ZMoLPWN$=~5B>HDtpSmFwC_}pBZoZ0l6%wH@v5#T zf87eVU5rc{S&_ll^EslaP681sbNk;_eq_1P&H(H43KoSbk$9(`9Noehf|Yuo2i*T9 z;ADybg<|2%h;GMMwoTI+5ITf<^zU;l1ejfgcQ9-0b2>r~L*xKri@PjW>@$ntk z!^tNCAp*vw0?cL#3WI!{AAf(Il$r%nc1~{N61;nCSau_9qJ8m2{);iYQUfaVIX{gp zX!iduz+H9rFDcg5x9NI+;~8?RK{E%9%)mG8VG(XMit;6TyoiTmhR#L29(IFNu{}Z< zL=4k0|1fIF`!KVlzCfy-7vRx<16ey{yorX@*yMdx8h@8zXZL!`K>k|+ N@T{-flhf#%{{kcg$X@^e literal 0 HcmV?d00001 diff --git a/structminio_1_1s3_1_1ListObjectsArgs-members.html b/structminio_1_1s3_1_1ListObjectsArgs-members.html new file mode 100644 index 0000000..d4177ba --- /dev/null +++ b/structminio_1_1s3_1_1ListObjectsArgs-members.html @@ -0,0 +1,100 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::ListObjectsArgs Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::ListObjectsArgs, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + +
    bucket (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    continuation_token (defined in minio::s3::ListObjectsArgs)minio::s3::ListObjectsArgs
    delimiter (defined in minio::s3::ListObjectsArgs)minio::s3::ListObjectsArgs
    extra_headers (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    extra_query_params (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    fetch_owner (defined in minio::s3::ListObjectsArgs)minio::s3::ListObjectsArgs
    include_user_metadata (defined in minio::s3::ListObjectsArgs)minio::s3::ListObjectsArgs
    include_versions (defined in minio::s3::ListObjectsArgs)minio::s3::ListObjectsArgs
    key_marker (defined in minio::s3::ListObjectsArgs)minio::s3::ListObjectsArgs
    marker (defined in minio::s3::ListObjectsArgs)minio::s3::ListObjectsArgs
    max_keys (defined in minio::s3::ListObjectsArgs)minio::s3::ListObjectsArgs
    prefix (defined in minio::s3::ListObjectsArgs)minio::s3::ListObjectsArgs
    recursive (defined in minio::s3::ListObjectsArgs)minio::s3::ListObjectsArgs
    region (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    start_after (defined in minio::s3::ListObjectsArgs)minio::s3::ListObjectsArgs
    use_api_v1 (defined in minio::s3::ListObjectsArgs)minio::s3::ListObjectsArgs
    use_url_encoding_type (defined in minio::s3::ListObjectsArgs)minio::s3::ListObjectsArgs
    Validate() (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    version_id_marker (defined in minio::s3::ListObjectsArgs)minio::s3::ListObjectsArgs
    + + + + diff --git a/structminio_1_1s3_1_1ListObjectsArgs.html b/structminio_1_1s3_1_1ListObjectsArgs.html new file mode 100644 index 0000000..ff89cbb --- /dev/null +++ b/structminio_1_1s3_1_1ListObjectsArgs.html @@ -0,0 +1,161 @@ + + + + + + + +MinIO C++ SDK: minio::s3::ListObjectsArgs Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::ListObjectsArgs Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::ListObjectsArgs:
    +
    +
    + + +minio::s3::BucketArgs +minio::s3::BaseArgs + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +std::string delimiter
     
    +bool use_url_encoding_type = true
     
    +std::string marker
     
    +std::string start_after
     
    +std::string key_marker
     
    +unsigned int max_keys = 1000
     
    +std::string prefix
     
    +std::string continuation_token
     
    +bool fetch_owner = false
     
    +std::string version_id_marker
     
    +bool include_user_metadata = false
     
    +bool recursive = false
     
    +bool use_api_v1 = false
     
    +bool include_versions = false
     
    - Public Attributes inherited from minio::s3::BucketArgs
    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    + + + + +

    +Additional Inherited Members

    - Public Member Functions inherited from minio::s3::BucketArgs
    +error::Error Validate ()
     
    +
    The documentation for this struct was generated from the following file:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1ListObjectsArgs.png b/structminio_1_1s3_1_1ListObjectsArgs.png new file mode 100644 index 0000000000000000000000000000000000000000..f7cf2ccebe2b2f5f186895d19b504867bdc73a01 GIT binary patch literal 980 zcmeAS@N?(olHy`uVBq!ia0vp^vw^sSgBeI3|C`wjq$C1-LR|m<{|{uoc=NTi|Ih>= z3ycpOIKbL@M;^%KC<*clW&kPzfvcxNj2IZ0lRaG=Ln;{G&V4)Wwib`8dHdE+|N8G7 zF`LhpKE*Td#oA3J%Nkm5Or7v|xK@b&^a~FGRxU2H@`A(Gm!Aq5_5X`>4)c~ z2=RWEl~<)deY4P?zmszo+%vZWfId`5B($pEXN+T7z)~ z^KUQTr2#i5wH-@E#G_50fwizGIqEAKV@{X`fR1WR=}w>D`9MOj$qJ-DMEFdMIc6?Og@j zo9|wn)*3zY>~E0=qL$JPvFF$lrf+7v@id2_3^(^H|Hh*dj~6LIFMDBN!uBDrO=9%|=>-~@Q+MMg!RExGo2c=Hlqq!o&de*%oCHJ-Z z=1f$)eKI^Kcl{>Y^_i!)70X}EtypV1)hX3^o2SBUAyD^B+3vO6+YN5Z=0@(AdUKCIW86f7p#%%V{{qn*iaJ_M2Y`Xa zuzL>gfpx~wGyPY{^IqBcq&0WL)*BBVYP<_gdsA8cW4q4c_FnOT=&f~?HFZ09`#QcC zcEze^#@jyEtbBJb^`%VO@8>@*%j}=O@BFIZpf$Re&TY^2b6c=6x!AP*LR6Ggi(E=vFcQI_9eIsWb`(cB<-+yvVad+GH+;r}yw{I_2FaK)R**wc>Ma~H`-_*HV zBJUl$=kVf7mhbbNyNB<{hJSy1ByCr|d-GGz%KdY@wyu|}=G&JzUrzRJil*t29m^Qz zPkh>NtXy&1<=4MH=h*k(-}C(cu6)}AQXt=nrE@E`n0{p!SF)c}y55Qpm<1U;UHx3v IIVCg!02IC6R{#J2 literal 0 HcmV?d00001 diff --git a/structminio_1_1s3_1_1ListObjectsCommonArgs-members.html b/structminio_1_1s3_1_1ListObjectsCommonArgs-members.html new file mode 100644 index 0000000..45db09e --- /dev/null +++ b/structminio_1_1s3_1_1ListObjectsCommonArgs-members.html @@ -0,0 +1,90 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::ListObjectsCommonArgs Member List
    +
    + + + + + diff --git a/structminio_1_1s3_1_1ListObjectsCommonArgs.html b/structminio_1_1s3_1_1ListObjectsCommonArgs.html new file mode 100644 index 0000000..038df02 --- /dev/null +++ b/structminio_1_1s3_1_1ListObjectsCommonArgs.html @@ -0,0 +1,134 @@ + + + + + + + +MinIO C++ SDK: minio::s3::ListObjectsCommonArgs Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::ListObjectsCommonArgs Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::ListObjectsCommonArgs:
    +
    +
    + + +minio::s3::BucketArgs +minio::s3::BaseArgs +minio::s3::ListObjectVersionsArgs +minio::s3::ListObjectsV1Args +minio::s3::ListObjectsV2Args + +
    + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +std::string delimiter
     
    +std::string encoding_type
     
    +unsigned int max_keys = 1000
     
    +std::string prefix
     
    - Public Attributes inherited from minio::s3::BucketArgs
    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    + + + + +

    +Additional Inherited Members

    - Public Member Functions inherited from minio::s3::BucketArgs
    +error::Error Validate ()
     
    +
    The documentation for this struct was generated from the following file:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1ListObjectsCommonArgs.png b/structminio_1_1s3_1_1ListObjectsCommonArgs.png new file mode 100644 index 0000000000000000000000000000000000000000..e611fb3877a22c27dfd46927004c47946f4cc68b GIT binary patch literal 2413 zcmdT`X;4#H8V%@(qXM?t;;?HAOvDb|BFhj%TnLLGSemCOn?Vf{ATF(f@IB8@;R zBWYx{6>J`18xjHu2pD4&WD~Lg9cT<8$YT*%4PfSlnW?F+>ZBANg+ORi;JA6?I(P)CFQ>xOu9IGPoLa4h!?B5ZO6Ifg z;b`q`Zf^cV>d$8I=f>Dm-lq|8lI9V$;t#;kiigV)e7x4AZ1UdU8@9O)rMZ{PK;F0f z@2LLrlxt^wxo4)4!l;9WVwy$V*?wis&~bPhOts!ZOPe?!kIs!dc+t?VH{AbuXy>$? z=mps=;sJ~Y^G4G9#PYI-TK1j3!2IXWouoRyE?=|#jEz{=+6|x>@w;vs z(*eMiXsgW92?GEOPScXq^Ko+_(POdSg!DF2_;e9ULuv~*%fR3fEu)g$e!MT18X`Ni z;uLkLzQf;hFmyb+9vt@whC6nai7vgmpt$52)-ypp73~x$M~Mf&3yz8RtFPyQ{)W>$XvcsT;UJk@= z6AavUl^|>XRiXj23>+6)uPGpxMHc@ED`2-q0mO3NK?MjtNre?)KcG>-p8rz?e6@wY zrhvr>0Pg43f8X!_h^?)Wn~#+W2z8rtEWLHGT1vHkcBo~=!}mLya6-5Vl~baxY2?0s z!MPp%)!#4NH`ql>%YbPq`ED-en<#~HiPX;Ac|zz3b=*~s4fL)actU4jV^&eh9<;w6 z*`T9ZqUh98)+}?bBXSj_SD_)Dxk+!{I&C4!iLdAL2+kF!t=o3Je!+AZ9DJCNLo6=& z8!G6axP=yP-Z627Z96FY*_4T@*@od{43k-vQIcjq3hW0rmF3GkzB6lT$uFJO&7F1H ztlL8%1T|cc@jpm*a^2WujLHHce;$2i>5T^OC7Ahf>f*mVsy}k>=BF|W#|jphe$)B5 ziO|Vc^_>;99kUZ`{Q^dwYK%hM#AOMPtbmvWLykqZ*hB)mg~^ARM%BnVVwi>!9-Ay4 zhl@z@nHDL$ao!uIpy$UdO;@ z&fklae${6#U01DV@AW^xOAarhjIkXAW8sW^Zz=3_YS$-^Uw~j`k*o+FfAP#}-2ea) z*}i81HX%3w5SiYl0DzID7zTgPfI4EP(U}Zz-2T=u>e2&8la=*(YOL>Q$lF64)weo6 ztMjdCM!gn-g`)J;FVaEM3vt#1G4;z*NmEe|-_*h}AP)xsXd0&iB;6lgTyn@x<~**G z77^)z?$;m>8TlHr6v^mGVgRrYL2R>^30D;#882hzBF1SsJx#NPqw9DWnklVbt&&1- zBwf(4!oi|JB&s%wAiHr81pk!lLn6qsJY-BX2Fh!}rP=3?QWKw)5=AF#zD^okY-0tz zyz>w=DO(&e#qv~h8z?8DKK4fhsVp?Lj%J<5zqHCCt=U(a+y2%Mtq!(jTx%P26aJWJ zpZ?x}Fzqx}0dlilZv@p*pa>f}$0=|H?Bt$Vi2`nu^*o=0{ghoOWMB1BP-|V5f%ZMq z$4Af(WBJIyY|=H!_E0=vTU*czbL7!@NyhK|Y4w6>l5HF=A+ep88A*_>DfFnCIoMa(bSKZ+}^ zbDz6QY143EnqB|N( z`Lz84h_@OnJ8lSw?xb7ULCrRM=gk=)7&kLE3;^n60hb=bjHvHdZMPnKXqgM1D i=o)IKrw2;aT3})K#JSseYxv&?;eqpZsW^J!`ab{|y|IG; literal 0 HcmV?d00001 diff --git a/structminio_1_1s3_1_1ListObjectsResponse-members.html b/structminio_1_1s3_1_1ListObjectsResponse-members.html new file mode 100644 index 0000000..1ad00f1 --- /dev/null +++ b/structminio_1_1s3_1_1ListObjectsResponse-members.html @@ -0,0 +1,119 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::ListObjectsResponse Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::ListObjectsResponse, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    bucket_name (defined in minio::s3::Response)minio::s3::Response
    code (defined in minio::s3::Response)minio::s3::Response
    contents (defined in minio::s3::ListObjectsResponse)minio::s3::ListObjectsResponse
    continuation_token (defined in minio::s3::ListObjectsResponse)minio::s3::ListObjectsResponse
    data (defined in minio::s3::Response)minio::s3::Response
    delimiter (defined in minio::s3::ListObjectsResponse)minio::s3::ListObjectsResponse
    encoding_type (defined in minio::s3::ListObjectsResponse)minio::s3::ListObjectsResponse
    error (defined in minio::s3::Response)minio::s3::Response
    GetError() (defined in minio::s3::Response)minio::s3::Response
    headers (defined in minio::s3::Response)minio::s3::Response
    host_id (defined in minio::s3::Response)minio::s3::Response
    is_truncated (defined in minio::s3::ListObjectsResponse)minio::s3::ListObjectsResponse
    key_count (defined in minio::s3::ListObjectsResponse)minio::s3::ListObjectsResponse
    key_marker (defined in minio::s3::ListObjectsResponse)minio::s3::ListObjectsResponse
    ListObjectsResponse() (defined in minio::s3::ListObjectsResponse)minio::s3::ListObjectsResponse
    ListObjectsResponse(error::Error err) (defined in minio::s3::ListObjectsResponse)minio::s3::ListObjectsResponse
    ListObjectsResponse(const Response &response) (defined in minio::s3::ListObjectsResponse)minio::s3::ListObjectsResponse
    marker (defined in minio::s3::ListObjectsResponse)minio::s3::ListObjectsResponse
    max_keys (defined in minio::s3::ListObjectsResponse)minio::s3::ListObjectsResponse
    message (defined in minio::s3::Response)minio::s3::Response
    name (defined in minio::s3::ListObjectsResponse)minio::s3::ListObjectsResponse
    next_continuation_token (defined in minio::s3::ListObjectsResponse)minio::s3::ListObjectsResponse
    next_key_marker (defined in minio::s3::ListObjectsResponse)minio::s3::ListObjectsResponse
    next_marker (defined in minio::s3::ListObjectsResponse)minio::s3::ListObjectsResponse
    next_version_id_marker (defined in minio::s3::ListObjectsResponse)minio::s3::ListObjectsResponse
    object_name (defined in minio::s3::Response)minio::s3::Response
    operator bool() const (defined in minio::s3::Response)minio::s3::Responseinline
    ParseXML(std::string_view data, bool version) (defined in minio::s3::ListObjectsResponse)minio::s3::ListObjectsResponsestatic
    ParseXML(std::string_view data, int status_code, utils::Multimap headers) (defined in minio::s3::Response)minio::s3::Responsestatic
    prefix (defined in minio::s3::ListObjectsResponse)minio::s3::ListObjectsResponse
    request_id (defined in minio::s3::Response)minio::s3::Response
    resource (defined in minio::s3::Response)minio::s3::Response
    Response() (defined in minio::s3::Response)minio::s3::Response
    Response(error::Error err) (defined in minio::s3::Response)minio::s3::Response
    Response(const Response &response) (defined in minio::s3::Response)minio::s3::Response
    start_after (defined in minio::s3::ListObjectsResponse)minio::s3::ListObjectsResponse
    status_code (defined in minio::s3::Response)minio::s3::Response
    version_id_marker (defined in minio::s3::ListObjectsResponse)minio::s3::ListObjectsResponse
    + + + + diff --git a/structminio_1_1s3_1_1ListObjectsResponse.html b/structminio_1_1s3_1_1ListObjectsResponse.html new file mode 100644 index 0000000..c6ff963 --- /dev/null +++ b/structminio_1_1s3_1_1ListObjectsResponse.html @@ -0,0 +1,217 @@ + + + + + + + +MinIO C++ SDK: minio::s3::ListObjectsResponse Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::ListObjectsResponse Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::ListObjectsResponse:
    +
    +
    + + +minio::s3::Response + +
    + + + + + + + + + + + + + + + +

    +Public Member Functions

    ListObjectsResponse (error::Error err)
     
    ListObjectsResponse (const Response &response)
     
    - Public Member Functions inherited from minio::s3::Response
    Response (error::Error err)
     
    Response (const Response &response)
     
    operator bool () const
     
    +std::string GetError ()
     
    + + + + + + +

    +Static Public Member Functions

    +static ListObjectsResponse ParseXML (std::string_view data, bool version)
     
    - Static Public Member Functions inherited from minio::s3::Response
    +static Response ParseXML (std::string_view data, int status_code, utils::Multimap headers)
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +std::string name
     
    +std::string encoding_type
     
    +std::string prefix
     
    +std::string delimiter
     
    +bool is_truncated
     
    +unsigned int max_keys
     
    +std::list< Itemcontents
     
    +std::string marker
     
    +std::string next_marker
     
    +unsigned int key_count
     
    +std::string start_after
     
    +std::string continuation_token
     
    +std::string next_continuation_token
     
    +std::string key_marker
     
    +std::string next_key_marker
     
    +std::string version_id_marker
     
    +std::string next_version_id_marker
     
    - Public Attributes inherited from minio::s3::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
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/response.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/response.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1ListObjectsResponse.png b/structminio_1_1s3_1_1ListObjectsResponse.png new file mode 100644 index 0000000000000000000000000000000000000000..9855890ae80e666d1724e041cd6936a0038b85bb GIT binary patch literal 686 zcmeAS@N?(olHy`uVBq!ia0vp^+krTMgBeKXd=!}uq$C1-LR|m<{|{uoc=NTi|Ih>= z3ycpOIKbL@M;^%KC<*clW&kPzfvcxNj2IZ0Y&~5ZLn;{G&VAeWT7iePU3lgD|0lNp zRFd$R{U)up^~u!pVoiq4g(u>dWzJ#~nXJOQ{J}I8d)DnLKVO=azuKZAJ1yv;(SOfN zkE?9%8>hL&O4T#fO|?FII^XC0H^1~tGjHpDf42SXZR>5}^3zo2zB2kQRG&IOIX!sN zMxOF7+4k1vo=anG=Dq$Ib}4ahsnyi|*S{McE_-vn{*m3v$!mSW{$&ZfcI5uaT4-~! zwur@Yw(rG=`p4>?^S|WGt$Ad(`n}c;@3~K`A6jI6esQVxlHar?`oH+^pLT!u`N6a$ z-cnPeC)KTmyZ5ZE?`4yD4FA0J8yHPBzP~nA`?26o{u{-E?oa!Evm6LM$opXV1GW#r z1 zWBKN*?y@^2f90fQx#^7iSMFacH~$s>?oXI}d#ao$Yrve6efxKRKUwxUX0QLPrE~X9 zHy7XWOzsYY?cXQWJRc(YezH}>K*Qj2&FSS+E*1P@-(jt;rgL^>F)(p4c)I$ztaD0e F0syj0Q5*mO literal 0 HcmV?d00001 diff --git a/structminio_1_1s3_1_1ListObjectsV1Args-members.html b/structminio_1_1s3_1_1ListObjectsV1Args-members.html new file mode 100644 index 0000000..ec65428 --- /dev/null +++ b/structminio_1_1s3_1_1ListObjectsV1Args-members.html @@ -0,0 +1,93 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::ListObjectsV1Args Member List
    +
    + + + + + diff --git a/structminio_1_1s3_1_1ListObjectsV1Args.html b/structminio_1_1s3_1_1ListObjectsV1Args.html new file mode 100644 index 0000000..e9f2daf --- /dev/null +++ b/structminio_1_1s3_1_1ListObjectsV1Args.html @@ -0,0 +1,141 @@ + + + + + + + +MinIO C++ SDK: minio::s3::ListObjectsV1Args Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::ListObjectsV1Args Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::ListObjectsV1Args:
    +
    +
    + + +minio::s3::ListObjectsCommonArgs +minio::s3::BucketArgs +minio::s3::BaseArgs + +
    + + + + + + + +

    +Public Member Functions

    ListObjectsV1Args (ListObjectsArgs args)
     
    - Public Member Functions inherited from minio::s3::BucketArgs
    +error::Error Validate ()
     
    + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +std::string marker
     
    - Public Attributes inherited from minio::s3::ListObjectsCommonArgs
    +std::string delimiter
     
    +std::string encoding_type
     
    +unsigned int max_keys = 1000
     
    +std::string prefix
     
    - Public Attributes inherited from minio::s3::BucketArgs
    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/args.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1ListObjectsV1Args.png b/structminio_1_1s3_1_1ListObjectsV1Args.png new file mode 100644 index 0000000000000000000000000000000000000000..4184aa3cc93252ccd33b9fa8ea959cf7e191bba1 GIT binary patch literal 1436 zcmcJPYgE!_7{GC6Sy`*2BhymWXlgMlZE9Y~6r=yaK-6Qfv|2=3h6V}VFUzg6ObU*F z6oPq{%u-R%f8dX+W>}{<#e%!lJ(zH9NP;uxa(-vG@WN~A z^2V|Sgev{W{u#5LDl-V5kco!*R38Q6jA3sU^dK<&#ul`L%>_R`!o4V$$_Gkh48Ag} zH;A?PE3)X?#j~!Xfq{S_(<>!~SdBa+#}JN95qc^d2%$j_UMlu@?WJ&D!D2P1H17&w z|p4pH|#6)lYeMc$tg4co&-S^CSF$jMoOrDsZtxgF6xFoo0>($=tw|T%rpU7Fx5E`t|R$-SCB`CMcH`U z7il_W?+9!0JCDgcP1LJ}EkB*jshr zjuaunmm356pt7|z{c226>-!zKdFIZ{&1+*G9rp>v3gUTz%ppz|sMD3f%>wL8zk|ds zUr%5c`CD&|c_)ynI9~$vd+oahSF;-ru|hP&lf~5aHu3eYEpYCYR}9{&)7!ux<=)-C zl8mjkV$VbyvB#$qApFn19sSpzE89nsW?ZSYwEFa-{7Nfji%(5C@oqIsk7q*kweb6t z7gv3EkC)TGC)UP&ZZzvLvQ**z2Ds`}LX}j7unhj}c6RF~_d#s#jdKh0J+SLnkCc)n zI1IvFb@)I+P2QBm$plt0Kz!7Y{Cu3dOCqM%f=+LC1JBOto1F%5 zL@b{ZjpimvV-C+(s&B1MmZ)n;$(=eQC#ARVy1YX{i|>YOUHDB7+qJp$WJ@=Kr(3p8 zqOD&u`NVM(VEW>J)4n0B47H-b>*J~~a)rqK;vA`)S~Q3Z;I*$vGpIhQUTk)_pV2;l zdz$=BC^>3|^TG8Jzge42KPSq_l^Vr4$GRbP&;8wVOve0 + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::ListObjectsV2Args Member List
    +
    + + + + + diff --git a/structminio_1_1s3_1_1ListObjectsV2Args.html b/structminio_1_1s3_1_1ListObjectsV2Args.html new file mode 100644 index 0000000..0b6c1ca --- /dev/null +++ b/structminio_1_1s3_1_1ListObjectsV2Args.html @@ -0,0 +1,150 @@ + + + + + + + +MinIO C++ SDK: minio::s3::ListObjectsV2Args Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::ListObjectsV2Args Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::ListObjectsV2Args:
    +
    +
    + + +minio::s3::ListObjectsCommonArgs +minio::s3::BucketArgs +minio::s3::BaseArgs + +
    + + + + + + + +

    +Public Member Functions

    ListObjectsV2Args (ListObjectsArgs args)
     
    - Public Member Functions inherited from minio::s3::BucketArgs
    +error::Error Validate ()
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +std::string start_after
     
    +std::string continuation_token
     
    +bool fetch_owner
     
    +bool include_user_metadata
     
    - Public Attributes inherited from minio::s3::ListObjectsCommonArgs
    +std::string delimiter
     
    +std::string encoding_type
     
    +unsigned int max_keys = 1000
     
    +std::string prefix
     
    - Public Attributes inherited from minio::s3::BucketArgs
    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/args.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1ListObjectsV2Args.png b/structminio_1_1s3_1_1ListObjectsV2Args.png new file mode 100644 index 0000000000000000000000000000000000000000..3bd02d8673ca47469466d218f88a8c415cd32a81 GIT binary patch literal 1442 zcmcJPYgCd47{_08R>!nb6uU%}Z&k$T+qa zeU+tnc7lZ2^X2_ zx?WyO=klaCUe#8g>C0?3cq>v9is@zDTg<$KS(O)RSG~R$=CI(tZ2(T1n(n%JE zDO^=8fe@ZoME1I;D5F+zsw3l|BqmSXQg})9Rj6G{De|i3k{_CpRz2wvPiy<#T!!js z5Us)Jh7*iNu{Pr%$ha>d1uCzcsG_Np8%y&e2jrbrNy%7@k1gp3Rd=J*V5Erto0)pM#IVPql(_ zscbFMY_=;UC9vFjndBcZQLhDfHA z940?xHxyCqccXc#3&b0WNO*EFcoTR{_y@&Rh|&3bf$o!7pDFWaAmz?sHmE||m7`w8 zwS+?9?!V z!IOJ`+$$43xVN1-;??88Q96HtAZi;3=Ae7=fCs!>#Atxs6H{-8J!*Ge(UFx zW<<`}$y~NuYcIX<_5zBa**7%h1Yai^!N9u;nGp@cksN+Gmf71XNtAX;4Y85Ut+hcu zS1R%b^2LUcP{cqGOW05%2@eOM+fE7BhIL{TNgtQc5&sTw?HJjqf2Rp9L?T98{Q){`~ zErw2FMR0c$g6(v#!kchpnDt^cTezycU)y#r-;*Zs@7v1x~C z^#1hb+a4k5ulA>%#^mluOg3TTht7J-%CXBET&0-P4Ktja%4#PthCPCp8094RBfQBHy*pW2+f6hot74IxHJu zUBAEP;PI+O4 + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::MakeBucketArgs Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::MakeBucketArgs, including all inherited members.

    + + + + + + + +
    bucket (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    extra_headers (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    extra_query_params (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    object_lock (defined in minio::s3::MakeBucketArgs)minio::s3::MakeBucketArgs
    region (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    Validate() (defined in minio::s3::MakeBucketArgs)minio::s3::MakeBucketArgs
    + + + + diff --git a/structminio_1_1s3_1_1MakeBucketArgs.html b/structminio_1_1s3_1_1MakeBucketArgs.html new file mode 100644 index 0000000..e9ecc8b --- /dev/null +++ b/structminio_1_1s3_1_1MakeBucketArgs.html @@ -0,0 +1,127 @@ + + + + + + + +MinIO C++ SDK: minio::s3::MakeBucketArgs Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::MakeBucketArgs Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::MakeBucketArgs:
    +
    +
    + + +minio::s3::BucketArgs +minio::s3::BaseArgs + +
    + + + + + + + +

    +Public Member Functions

    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::BucketArgs
    +error::Error Validate ()
     
    + + + + + + + + + + + + + +

    +Public Attributes

    +bool object_lock = false
     
    - Public Attributes inherited from minio::s3::BucketArgs
    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/args.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1MakeBucketArgs.png b/structminio_1_1s3_1_1MakeBucketArgs.png new file mode 100644 index 0000000000000000000000000000000000000000..05d9314ceaa299c26c32e9f8a33aed7d81f5132d GIT binary patch literal 1001 zcmeAS@N?(olHy`uVBq!ia0vp^i-5R;gBeH$OCP8NQW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;G7HPqH~qG6IC-)Sr@5PigrwTa`nFAvXeeR(we1e>+L;f zy?!=PW$stg$ePx*3%8$C_4sA*SohJhcO3uchzm?!Vr8!^SN8OOUVuRP{ok+jUcMJF zUnl$d=`udmnT0Mducuotezo3O*;9D$$wiZHNi2%Jd+DFvwHN6}mYGleuC!0HL^t{2 zx<73<12Z&Ble;P=Mr^)mR66m}d%Z8xM?U@tc#^-f+r9Xj>+9>67`IOKzWq(i`Md?U zuIK%=-{VipyUOHm1v+hWzM=(taf1epe4Y#2RHXsILM@1O5T@Fak+SY(h^WT zxq5p?rqSdpZeDXwzV@HgbLQN>9UoLZ)pu_G!4<}wH#zu+andi2$D)s(J%I<2V$|nN zAETzsopdJmb%lkmg$G!^AZ&_{pkGV3*-`JW7k!k(f#j3)7e_Yh-^Q>-S#^U`Cj$L(s_vl9R z+ua$J-I=}@5<|2jc3o+ZvD1B2>dvgQ_~GfDQjaSBhM#%#WA@Ipg^gy=g!HO&Mv#~H aYksGXPPGp={CNe;mkge+elF{r5}E+~7T + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::ObjectArgs Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::ObjectArgs, including all inherited members.

    + + + + + + + +
    bucket (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    extra_headers (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    extra_query_params (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    object (defined in minio::s3::ObjectArgs)minio::s3::ObjectArgs
    region (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    Validate() (defined in minio::s3::ObjectArgs)minio::s3::ObjectArgs
    + + + + diff --git a/structminio_1_1s3_1_1ObjectArgs.html b/structminio_1_1s3_1_1ObjectArgs.html new file mode 100644 index 0000000..1f20249 --- /dev/null +++ b/structminio_1_1s3_1_1ObjectArgs.html @@ -0,0 +1,145 @@ + + + + + + + +MinIO C++ SDK: minio::s3::ObjectArgs Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::ObjectArgs Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::ObjectArgs:
    +
    +
    + + +minio::s3::BucketArgs +minio::s3::BaseArgs +minio::s3::AbortMultipartUploadArgs +minio::s3::CompleteMultipartUploadArgs +minio::s3::CreateMultipartUploadArgs +minio::s3::ObjectVersionArgs +minio::s3::ObjectWriteArgs +minio::s3::ObjectReadArgs +minio::s3::ComposeObjectArgs +minio::s3::CopyObjectArgs +minio::s3::PutObjectBaseArgs +minio::s3::UploadPartArgs +minio::s3::UploadPartCopyArgs +minio::s3::DownloadObjectArgs +minio::s3::ObjectConditionalReadArgs +minio::s3::PutObjectApiArgs +minio::s3::PutObjectArgs +minio::s3::UploadObjectArgs +minio::s3::ComposeSource +minio::s3::GetObjectArgs + +
    + + + + + + + +

    +Public Member Functions

    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::BucketArgs
    +error::Error Validate ()
     
    + + + + + + + + + + + + + +

    +Public Attributes

    +std::string object
     
    - Public Attributes inherited from minio::s3::BucketArgs
    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/args.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1ObjectArgs.png b/structminio_1_1s3_1_1ObjectArgs.png new file mode 100644 index 0000000000000000000000000000000000000000..da27fd1d8a66eaa06cfd6a94168900b551baed63 GIT binary patch literal 9791 zcmeHN30PBEveve3T2$yBcM;M`6m2$@H3DH25z`3RtwJLpB4})pMAm=_WW*L4719PZ zKv-OHK{gR01cC?(C=eAPK!AV&!X6-y5VE~<2`cvMneWZ?%=_NF_v-t&z`b>w^b+<;LqN{ ziD1&xU%_9~KTn=KnIF>%1OI**^n>HRIe-bGh8O#{&Y82m4z+Xp{?NHYZS0U62bX^S z3bo}6g`)aSeCYO@i1r&_d|QIP@a68#cHfd6WjA8E=2@RDRg&fF1i0?z9owg=Y)LHY z;b+?az@xD_k$n39hrJ@uaZV~dXp{7a&qx`L`v7;MLg^8$n4qA zS}~I%zBi#{5jB&j0aIW}%^1Eg98(j=mMemv@Jw(l`DwG#Lu7ZqpCgr|vpT*jq|yG7uoe-g{<9V zw@+uWyN7$q7he++NE-;`3a$}}Y;9x#FPok*7zcP`XIayVfp`ac@5-{6v1e1LW&)9l zS~dmlvikb9Y3hi14liu`wWhMO@%362IwLKYn1?t*_g46mTaSNYh0RtNozmG+%e$24 zp(qepSaV=&a>c~Fz>rvY;p;EwE6K@tLp5H5+;wR7=J0)+c9ZF|Z79z5T1oE0%x3!I zn>))}^jbfknb3T76Q$2=-(IHeQ2+6^vBQ!X|5<8TH$JNJf!`=x`eDR8hndCPJF@p9 z``eFFJ_@(_zr(86Y97b^_RoJb7C((((JIH2>zhel37TW06u63-kWhjM%!C&{o9$Zs z)utg>Azw|Xr8zcq4PMwh`=LV=QGtBUdYRKaMH?Me2or{c7!L2byrQ;~tqH>x;2DnM zsjJyIfv!%q$*zq`3caxfh1t3&jmvq?6NU_M<9!lhvq|dhOp@eu^T`_FkdxJ9B)qWf zQ$;>VHCjmY8th^ik*Y~8w-#a4lRSV&IfJ*mB(@;SVk~ENV zQ&_m)aJDGl=r`dXKOO!zZwl#1Gqt+OmMs>?X?QwT(JXy|3Ml+qRY|GG_mHWJstIc_ znwkMQzBI*TMR~@cQ!9*4-$Qmk`djU@f|h2XuFfGmR`}3xV4|(ZX0xh;cvPDmk5~){ z+E0>6F&zq8t=UZfAGH5AsX(uF^P=*PL7REoD0{t*G6NQq@`HNvyJp-$lzX+V_-gVD zBqAH%B(lg$l&;rad2pNHV1N>`$|RwGMz?#ut9cgXB`+(*rD4q^j1)mWcdqE1EOdNA z2{6|>bewu?V4k^(BxYv0M?!4vTy;jS&U?TaOhoD2os}zXP%*2vGrlt9E zjDO|5_pJGV^$8Rzp3+d(y+9#sD0?eDP?FM4nK4N<3x`K*B>>nR+QP1F%c_0eiGUFW zqyoHX6k$rO(phf=~0gTRlAYvH$?Bv|m+c8k>70`o-4sx#o>LN75=S7K>i zwzzewHTd0NbDS&;X3-<*Jc0Wy-|$iMP(fH1fmKP*W@S5xcqd5`QQ2^#sRX^^tVU~~ z!3;pT4|J!9A8I_7n0ltpOxu|UZYi)G++XNeK{rB)=7)n1wIv#g{Ki>Xxz3~SKfyfCt5j9xS&k<+{un9T@MF=g zsL06Dj3pYXSFe>UxSDn8`n3*ze??T}`s3Kh+rB;9TT?mOobJD-67Aas zt~w{6D@SGiz~(sa~eRTUtVYmgFB8oOf9pgTAO@`YY zyz6C~mDE&fQAUfqFHJEjTB701O&1qakL3Mix<*7k+gG%ysxo{N7@cnD$1p`j1o>j8 zmXEu?fL)!s@P_lXxTVXGIh9j|8f!~b@gI%~xn!tcPN{nbN4(jwSa~SL>2u>1DwFkMqI(xLp)t%lG@a|8Bdx!;^ zoJ0b?&f=(*1QbKAU;=4;giXNl-96qR^6oryRNN!5?e1H1(~Qe_JT3iUi(^4LrVpOe z#FlV@zj0njt>|rI4UNW=ypeCUHof!Uaf%UnuPjfxA&aL(dtg1hLOI%yAGyPzR#xoF@>^n~>Odyg_m zY+@#Kzyx@UN|HL=cNgwR`3VA*2}J7X42e8EHFQo4460fSZ}WAM8E5&1)xX+A(@tlZ zK~k5EZ)_IX*I<=f3`#lQcqT5*QTEVt>SPyO40U2fD*ioYoRXUR0$Ls>W!4VgS`c9z z3^e-B(s*aXP@e}?UCmnB9;_B89{m{`t=0DCUW*m|Ah~(6of_qXG+1=H$UC*Lo|XP# zmET2&hc)Jv29T3Yz)s1|niHA47bDDQ1xL@3tgZhxXB}nF;GI1qGK5aXliK&r1Xii3 zgiv!`MrCTF=^^_t=98!J8fPqRhoZ09~~I?=(xkzAiT zVqdypY@X`)x%X~fd|01@D9cWMozj%E+K}&{K4`xxDz8#;8e8OdMSg6G^@s~c3@s=f zw_nF`O^fe(qW*rQB~hPaRhCVi9*KQTC3jIu+<+3##wygqAZW2cip}|a$N}|mcWg4; zo&{$4CT8(``&aFk;TPWi{Y+f*xQtg-;A&6nuiBgA1N}c|y7=G#^vzic)BzgV^&Zba z4b~C9XP>UgQavcG11i3>{KUo|F9UD`6be)H2SE?*e(#~Ke*NB@jlU-{_R(IOvKs&u z0LqtXfWVEk?E`=a$P6UU`4=D?0bxM`Q(b-=ASa;q-3x)D?|x4aaLd1@=t0h2r%zBD z1_>rst5QyBm%lODs@JBfZL_`1lXZW-J*z4wD0UHe%+EZq5a6`eG?1&dyJalb^O)v_ z?58>FLy$fV+#5r&nFpakU@Ww5?FaKA^qyt z#j!exw&${m*@OKC}?MAb5Vr^8Ck8X3;yWKr&O zN4?%ad%m}c;?Y}cIh}T@>-2*Q>+?RKRt6t=if?qV`y9AJK%zw?jS_ERppwRz-M@ zd&;jE?oNZN)ZGeyg_Y`Ff+a$-9p20Ky*k2cX?~DPWV0Jg2^c?cTnEeI8Sw}Vf|Qos znWv7-4%tg%40jB)N!{YR&@THk=|_gul0CZ3-wY-!gw$en->Tb}S_o)??Q6twck?(Q ztnaf@I`dHecH>m`Xi1;bhPHMo?Ga3aB#zCFk)FS3ZFo*2?TOyjrAwv3to@m!?uQ=u zv~$7EF-AVtruHX<@q+{El#!8rd0oMlw?I4q8U`>H6|F*805K zOZ;D^!p9C-my?cgR>}%I#qx1$xGXh<#-Cd{YI4c*(kSotDejVl>1`cOx)0_1{kFJ_ z;p4u}X(VPMWtd15OoSb4s9PRFb{{^!!wN8X)YMN5nU9I2JQ!r&fCGRw+8t||g_YbYc;#&r*e5$T%+~5dxIU<`h3-1EOX1}PeCz_CQfas~@-_d`m+eyY45&}bXYL(}K!mN#NfiBiF%Wd5|=O@iC>V4gsEH7v`29v^1!7hlj z!4gAI|Ke^m+TFMuw}sSGX7w5?xx%+6j$J&vo^BnnWW@h(DG#tBa)KWs)24cR&vI`^ z$n!MH(}oXDcE1q}yEj2N5rbV3 z6lLTg#)qedpSq73GQ135QFvo7w5A$@j?3j#E5=|qspslAZ6Y012X6IzQ{2}?XrsYu z8eH7wYbm)*s~O=Q3UM1}M|4Zxz*;-i?M+t&bbS3ctj@)Yf7~fCOS7xPg%`6Qycim; zoy+DP3qK(&V~t6jX$8?l%>+2*v2r4?zyeWV4GzXAoP6C%o>~6DDZeMR2Z&qV&!h;u zpS|g{Yq5AcU`hYj+a9WUy&r_GD3&pdS=pmc~5l&WPScrBYSH^U}ZA5(L4i%fwq&DbSnTh5C6Q z2am8yuI=R%=7946`;xvSyiDPpy<71jq`2f6HDlOQawUGSGTca7)Cq1B;64%D$Xr4|-O6D4@5y&$BtsOcdJV45JDh)>&hsJeSFA zFTviVV5ef!R*2WGA|6tuAkQc>>7gG%>iMbtCTMr+r+Xr(3#y%#&ANYO2DTwIH@g79 zhUft@n6guXdZRXF&RBLAiMJ-bjat2cJ=oj1P} zo0NVp{imemi=nbWUa9J9_j0`@inl_~g9243?l-#sq#9xKzx98q!v~aS-`6hpy$HcQ zj|EQD`2%FAgc`UA-fam265+Zd%ex;6Ah@=NRx0Z)xOZXvpLZ|FYiQ-{Gk0{dbTE)7 ztf>8(qb6+`t+Cnc{Xb40`9IEjP*B^frOIgo`nxpoCm+SN>Ju_tm?}^U%Ik!xgY?f=Z&< z(o1-YicSxYpqo5cx#H?mB230?USat&Z6ifJ$&*t1h~D$cp}yY>EPTk`8V|Ew0zEu>^Ug9TPTeR}pkb0{m^Kj^t#}&gzSwTz!i*>~m zPxBlp^bOokmUiqZEY|5zwDvwYhQUg{84xCLop3lod3;gt+G5+n;zwp}qc($%$yO5! zd9MZ&*y#;6Eu+2+9TC>UFT~b)094?D;j(PKHtM!2L=${pp2_$kGHuqunI((~l9LG)=?Ge9EWU@_;7Vc7nsP92N=1*6N-5FS>6Jg#wIy z1A8~J*25~=u^`TdGBy2~%YxQx%_%vh~8;VT1x{H}S4{7K<0gK0N0^s9t`U-p%Pb&gqg zU0h!J(<~dI{(M94Z&m8pKZm+)!9IpOytG0@+4ro+jp-D%W?S)fI3gh3T@C8DM{a0X zod~o;OGn^6!J;l(^4jP)t*366U)oPMpuyG^ir~(?z~0G(j61(EGLlhny0`%fH|t?u z%N9_B-1kXtzp@B1;8Wh_(HY1koRvG<2rD;KBf#bXfIm0au;}%YD}h%hc!Gkk2y=-7 z_ED3G(NM<%ce7|UQsM0FgG_svEM3}<>f;*dEwzl-G9f%>h=e#`#~~c2Do}X z?!AlOwv#L!jG9V;s|USP11`xRM93!VrQ@B!rG5OmZ1DDL9?OZmCM=}OmoHfHru3O| z;lf`WC9e@H`bYdLY)!gwFS|2sEm6a`9w?3oV(HZA9fYX!S$+S}A#)JGe_ce;E%Qa? zN7r|`00}0RD6P(Mo6rjZ;(qajz$s8zZ-1xZWs5&qnr4@k21kqyR=KqIVs8;ID8rC_ z`6XOz%Wqms?pje|TR12MEl>Y+9@Wiv-%!2opLh@Y9O3Cq%FfyW^=1Z|5MUM47C`wK zBCQip2A?Lor1X!sk0))Id5f?yG`WwfuH**%$EGIFz8|5IH1o>jTF3Q|>~}v(`6xX4 zkFoxk^;1%MJ~;oLCQiZAkm9FM0}S=Rs=6mDbuU6y2%zkof2&6@;%sb%PA5Rr=|Xs# z_s169T)#}HFCSBGkh{J8s(RS+-p*LbNNT`;aUhz{77V^Q1RJj<7 zXQQH-&}*roHioNud-6m23sxCbz{3i4_@zg2{bjDGfEZT`#)dI&08vV74j$V|KWoaN zk?4qTQCV9*k$60cjgdAR(zI>Vo~L`&wPW4J(r;t%1NQ{H#W)4{j^%Y0ys+Ydrsopz zr9vFN&b{ZGKH-sQ<|dSZ>1;tDrr*Cu_$i(z*)K_;&AZ^)5RV?3Osc~5 zXd!=ClNzvQ>KnP&i<>&X!dcTDD&%P{kJB|lJCxjCp*TH!&(V^frDKrW*XXH_k2uG* z5mKnI1h@j-7?&MGzzvh;m12SeU-;+9?$FVXVne=?B;{~G6|US<_j>45*)ilDpRQ&K z&KA|wktZv3)Dk^JEm4-fm8_i%3(@xU@=V!LwIf4y7Uv0m@4~=22}Ggid|RLc%6pE4 z`v@XNGi_{(qx(;ap2@tMR|%8LP-A)1Yg$rhwn`nDJfslznM$_570cm;ub|?7I^v(2 zKsf3x8hgD?ghi6T$#kg5kIzfsBO?N(&5ScJ0vS$8$mja5<52Mt9mfO%H*48kOR7-_ zCyx|ypoROvJzRi$gk2oKp8((6G{$+ZL{yhO9{jp>@)~r615wAaLrrnmlMhe&er{Mrn87wT7(7Og1YYH0X^Zx56r2<~H_M|C#xj6ZDM2ofaW2<8LL?9Cr+ zP-TxohiA$KeUS5Cd<1>^@n9PyM7mxvS9?c&%om@py8yoSnuD@++?loGaO8ggGkFBt literal 0 HcmV?d00001 diff --git a/structminio_1_1s3_1_1ObjectConditionalReadArgs-members.html b/structminio_1_1s3_1_1ObjectConditionalReadArgs-members.html new file mode 100644 index 0000000..edf2f04 --- /dev/null +++ b/structminio_1_1s3_1_1ObjectConditionalReadArgs-members.html @@ -0,0 +1,97 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::ObjectConditionalReadArgs Member List
    +
    + + + + + diff --git a/structminio_1_1s3_1_1ObjectConditionalReadArgs.html b/structminio_1_1s3_1_1ObjectConditionalReadArgs.html new file mode 100644 index 0000000..56d4f59 --- /dev/null +++ b/structminio_1_1s3_1_1ObjectConditionalReadArgs.html @@ -0,0 +1,166 @@ + + + + + + + +MinIO C++ SDK: minio::s3::ObjectConditionalReadArgs Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::ObjectConditionalReadArgs Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::ObjectConditionalReadArgs:
    +
    +
    + + +minio::s3::ObjectReadArgs +minio::s3::ObjectVersionArgs +minio::s3::ObjectArgs +minio::s3::BucketArgs +minio::s3::BaseArgs +minio::s3::ComposeSource +minio::s3::GetObjectArgs + +
    + + + + + + + + + + + + +

    +Public Member Functions

    +utils::Multimap Headers ()
     
    +utils::Multimap CopyHeaders ()
     
    - Public Member Functions inherited from minio::s3::ObjectArgs
    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::BucketArgs
    +error::Error Validate ()
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +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
     
    - Public Attributes inherited from minio::s3::ObjectReadArgs
    +SseCustomerKeyssec = NULL
     
    - Public Attributes inherited from minio::s3::ObjectVersionArgs
    +std::string version_id
     
    - Public Attributes inherited from minio::s3::ObjectArgs
    +std::string object
     
    - Public Attributes inherited from minio::s3::BucketArgs
    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/args.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1ObjectConditionalReadArgs.png b/structminio_1_1s3_1_1ObjectConditionalReadArgs.png new file mode 100644 index 0000000000000000000000000000000000000000..7cca3675ef5913d6eb891e4ffb76a09b576a4970 GIT binary patch literal 3429 zcmdT{c{H2p9uCu@8&jqSL3M_<(^0e)yOC;@F_shwRYZFoB$lM4NN6zQ47Zn$nQ2iK ziPj!PEftB{#)z5NmoS7-k;cA7YAJO;?d`oYbLNkG?wNbez27p?=qZonq;{(HR$V8aSwM+AxVKZYg{6qVssJvqVp%Mf*sD7U1FiRJWS}EesX!w#Ru0 z{1)sN(93kb78JDWp!Y8TdcP6eRvQs+F~Bq;F7 z;}`sVxHLt8F8uw6>-U+Y2sSDp`{LHaAaanjyEbvN>hddcS1Fi%MP0prv5+1(1(mXl z`(odx2$=N!(@-gn5&!{j6Sr!ub&>S=XpTj%+*K;(PndpA3srCH-anzEf`Wsw*G0hS z>8GKncBOZ(op@LcF?&7Xk!skM>%#PPy|nCSNFQw|Dz?+^r%#02w{oZ51k0AGy+y3H z&79L$+C(01%E9eofE}|jdW+tnOSnqSD!_3wzzBTq6kuLrp&46JSfZbj5oM0sQhjoh zXHlkOT!r%a7>Zg~sn*@;Uo15p2Y||xT}FodWEA->207;2QxlB6LqSFZ%B`+Z3j?RX zfKMW@qX&9CfrXrWrYrFnpN;_I9DR5sJv%STR-j1Ym8=~wjMQrSfM2+BU!KRge^xD$ zP(%6TY26w9GsVc%n=-^7@wJR^h$)@2f~zj%BpxdP_oIwjewcrk0Bz~KY_%kxlFq$zD} zO0Z#(HFF71LXQlpJkKV)skP{a>gzKHSP$IDDIfsC+qG33@n&~xbD4wm!>vWiOW*8a z07VACIlrEoHAEf5Uky-$s(s`AYNxmbgRF1M2^sF&I8m%eaEh&G+uJX}?2b*y$2tgb zar_SEOkXoq8x?21-JBPtmJ{^j0v|Aj?on(KfFd@ZmU_7aMc0>ZhT*6(9fA~%Y&P@c z-gbCj(UuIAAU25aE!uJ?o}J!ep~zohkUK3Ff&dPa4hP|TpSS6Kpt^T)hCbUn1Bq*&TS>`D{_QM-+_GhC-Lb$LVrM3B3xjSLOaytevTgV**pFF z72N{e6M)mOrE}fd~W9FSoEfuaJ^Z(KC9Tb?&SV#cA`)@bNq&VS^1NN2;kZFxR0Q-fqeptOOudKbp+SSCjvDiJE@Zq*{gEEwz|tsS9zpGU zP$v*d_{8J;^t3~U9( zUvr5|Bpa6CKtAIIW6dUhH@V=~|GH@WpRqAK{#}i$)@U1HnmrrqFg2ni1eb?n$4IHO zmqAX-Qsj5u0h<>(#2pYH0_D_5c;~^rRDn3SASqW!!g~5HM|5op*6^sY+Z6XX7`mZ3 zzecH^{`ua@+cA6W)c*>G@hmXF&DIfEcAgqZ8>C^}$6Q!fMygv8>|6vFWhnZhu z`&anSpadMThY^%p04k>L9>`GNjN4HGZ146Yq2vX=d)h9r>)rSwAqFO7)~F?#z!}nj+e6rqPG#qWln`nP)0W?QgW%g83gmhj^aMT=Z_}WV6Kc zD1l!EDZiXcv}`!j63)cM)i@*$2!F^n9Xde3T~CznNpC2P77eo6m;B$j?W`>&+sF*Q z#e8ha6Bz4HkdtABNjM%IiVqk|bN3>4XECD#pgf~BUgHh*N~(`|+YXIH@9^^uUUoGy zT$Gu1li$f_FXXY9a);Nni}?sTLyAS2Bx}58@a&-sf1i^BqkyNZnU8%?+3drDk0R+$ zl&=}%I^#PBNX%B-^|E{;g<6lu%z+>;_pL$DO3A$0VTO;NfJ&i7<5ZpmbsT_{i_23( zICZ^p%cj5cG~LQr^@N)n*C5hO(WanB;(+tv@`=QKpE|*$ks{3b<5Gd3jB8%h{&%bq zpY!6D$({WWT06tq=07u2vC%Y8xnsX;0bSd;An27TsNbc3P1(r6MoZ)z7%XPkX&$& zo~c|)k{>TwK~tIKp{o&Fb7)3kg=$e$BD^3pvMR%2SQgpX(Z{Q$tp>N#?C54NKSDrc zOqBu*y=$qt=l9`-q4+A})tbi@JbPLaOUs%3xAjw8-uV2W-r_i*=2}*>0k@-PWsR|Z z$a+=!ddf!N)2OB&*?c|I1wH56rR+GztnM62n`@9|)V65DNu+*#TSCb==j4D<~{#OF)OxMa{Z$XZk_i15j=<<1iP va%_?f7jE@i@4KpQ_}1_NY|uia3gN|FCYMzlKlK3ri6C}YoUF?(-T3 + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::ObjectReadArgs Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::ObjectReadArgs, including all inherited members.

    + + + + + + + + + +
    bucket (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    extra_headers (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    extra_query_params (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    object (defined in minio::s3::ObjectArgs)minio::s3::ObjectArgs
    region (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    ssec (defined in minio::s3::ObjectReadArgs)minio::s3::ObjectReadArgs
    Validate() (defined in minio::s3::ObjectArgs)minio::s3::ObjectArgs
    version_id (defined in minio::s3::ObjectVersionArgs)minio::s3::ObjectVersionArgs
    + + + + diff --git a/structminio_1_1s3_1_1ObjectReadArgs.html b/structminio_1_1s3_1_1ObjectReadArgs.html new file mode 100644 index 0000000..5e5003c --- /dev/null +++ b/structminio_1_1s3_1_1ObjectReadArgs.html @@ -0,0 +1,140 @@ + + + + + + + +MinIO C++ SDK: minio::s3::ObjectReadArgs Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::ObjectReadArgs Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::ObjectReadArgs:
    +
    +
    + + +minio::s3::ObjectVersionArgs +minio::s3::ObjectArgs +minio::s3::BucketArgs +minio::s3::BaseArgs +minio::s3::DownloadObjectArgs +minio::s3::ObjectConditionalReadArgs +minio::s3::ComposeSource +minio::s3::GetObjectArgs + +
    + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +SseCustomerKeyssec = NULL
     
    - Public Attributes inherited from minio::s3::ObjectVersionArgs
    +std::string version_id
     
    - Public Attributes inherited from minio::s3::ObjectArgs
    +std::string object
     
    - Public Attributes inherited from minio::s3::BucketArgs
    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    + + + + + + + +

    +Additional Inherited Members

    - Public Member Functions inherited from minio::s3::ObjectArgs
    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::BucketArgs
    +error::Error Validate ()
     
    +
    The documentation for this struct was generated from the following file:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1ObjectReadArgs.png b/structminio_1_1s3_1_1ObjectReadArgs.png new file mode 100644 index 0000000000000000000000000000000000000000..7c209ff53d7c8db5e69b8c723b2f8ceef95852f2 GIT binary patch literal 4132 zcmdT{X;f3!8bvLlQniW?P{e2nVk?s%AYrPg)rb&AMKPj)L?nWMmxw?pYMUw+G!z*F z3d$@(VniSef)E4dqGd9MNeM(_AYc%P0(s}g+Gk(=_11e`>t(Ind^zVNXW0AO-#!v}%!(lG0-AuI;W$N^>zvN^_1ampHADYg4+;_<3auB{0zl9R&FM~+& zuB)q4zR-;VUl*Kmb#hYzgOFE8v%86s(ozO?`&ReUbB23fxej1f?09a(_h89&ydNGT ztX=kCvmod|kxt-6-CG$_4RS_6T5gx}qT;$=(YJSZ#4__S&WA4-&QqRW@G+3pVA3}- z(Rp;dZ&rG!biQ~kB1ZFGNkgjHR7drrG4G|qmJrqW*W4jA z#~A6?a?wlAXiimb@iYy5H|14)*)ObV`nlK2VlYQ>0Zcm&?b)f46@SR!;PLvi-VX~! z-3zwIHM#j!EIXT4+OI(mt*^|1W#bG#NaREfLDrhsA=`zKQt;2xE`&b9N>Gtj{yIZX z{4K66R3+T)#lF{SFY79z2!7d0xWa9-e8k=kBr6a_>s z(6zd?9x98zbp05ZIJS*feivKYs4LI=~~@aiZIBjCw8umyY>d-J&mz* z&mqCCj=w87y*M`@?U2TX(z$L_*0k{!IzD1A~iAdTuiRPA;;%>%cw)nAXZ06{uXfiyillj7uv zig9p^9}^T}G<*~Neg-F9M#W63b-L1Md*8P+9~S_qbOH;)biTqDnxak-4;>3rZ=wpo zW{MlnEPSm7#V;Fr_ic-xSul<|2WgbH%XXPbDbZi2$wD7)f4?j2C7+ae#vj&Zum3=^ zjUqIsb<8Xf3~rX}C0rS!`dvbxZpndd*&jJzcLYQQfDM0wT!DStX2;vAE2iGFw#Lp) za06`63=W0>F%X7mN`~42()Ix92KUu}C*+E`x(=u1zJg-sZZy{A6uCl&4gLhV0{fag zcxbl)r+{cKji1aL9;g}iflHn@xnfNKJ(->sqA1Ukxn1;cIK^TWYc35r7+vUYc@?R@ znp}EhnNR#%U;a0p2VovrECLDcO^-bApadPEI6*V$E~&PS5GkZ668sfIm>%Yj%1eza z!RQ{c+PqUkl@K>KJ}GfZqIuds(XZsPtz;<(HHv$sDVM|#n z0sBT7;ZE%(43_@+eDV8mvN2f}8=U)rxUA3|7``>~UFHjhqUA3oebG4!KVdY$Oga_Eij=u=a!<;{|U2;0+ne7PQaEN6gepXTverv3$Ydyyi z**+s1W^*%NF^RiPHf9wiq6x&B7ft}TdpYn#)5H>1*HUwR`$uJDqE%yBizPpyCuS#m z$+F{ohGtDxjH}T2m<1YZdmV^Cw;LgnR2A9lJ=uMeCms7OVa{M@1`o)-i4j8<#)Uf_ zsa^o}xT@cEKs~TzCk^B!FRGq!k&7B3lp?%~hDOlE0~ramKVm58JCcf@@v6{-uVKAA zwfhE`#Cj_&J@%y!oc;O+%-o+mUpHMpp#E%3liTvnqiZp}<4HUR4ZuU|8*o4mx&oXD zbBc;V$$V!^aaN2#+reaCL(CoVs-ZFet8p;J+e7Hzqq+2!C&H0z zOp71|ZGqGVyKIVpj&$@uYzFCTN{GZ7LgGW@92czi9&sGP&(NnmF;62^M zA#Dkc&yMCdW=#H+u&%4?8Ivr0R|L3{h@14SFs;7on3A*<3aV+W5o!e^r?tkaXIObe z8<+v2=Yu%knWy0w&630JqEK?$cp609=atWhJlE6q%LZi!gmULZLsbplS9h)9A?p5ed$Q~m>vi#f^%ng3YwPu=x~xr);OA!# zGWJ|_K6M&@SdPyH{jJgo@Tyf>WF04Oxw2RLG!U>)Y|7_;^Y2#X zlQI2fDY*gfw)O%8L5`RA**>SFPz4^TKn;LX#8UGVRmF)q9a88-wMHzG3q%zpNWD6E z2Mcs9leqrof&n9J&`D-6|8&YdRLG{2U8B5bSh_$B`YHTvKfkB@edOyhG)EbQ&*IiF zq_wLc+lf=%UDHvCf{b+0YCUpjB}%@yLi$TSBPxl~J2KHLIW&8}5J%phXDc209w~Ds zcZ#fnN!Q`(bDnT?f{6pxkZfE|nw@Ny=^yFYMTI}7IO9uNKw;0EcWd@8u0>f?-Nd)3E$^(x+l+@Zw&rbOcUcdQvqBeeb#?WO z(GPQ5U&upmc&H$A{^!12;jqb<%fUq|Yd~I(n_7p|-XX9t;Jc`T0;D<=CZc09zyo&^ z(E=J;HZZ*qGT(O`>vWWnN@CgdXeOig$?AVaS2SC6$U6PYJGQme%=o0@8_Fl&FLx0R ztbm=O#D{B)b-^iyw#!a2*zjOJnn6d6_RP%sLwBqAS@$DnPOfUn;$0^b(`f_b=8&YB zgt5_0s4(-vExzW{PjY6{FgTu=9h2u7R`Dq0F_t#7W-^B=a3M1>{A!8QsVd<%&iXid z-?%tpqQUA`X!Pv#W2b0#CnFbK(V)>00s9LBM9)m(hPBnb)_|0+m&9Xu0(Us*{q#N( zla3u46#LdZweHr}X-(RE1#KZat{{IY55J)z7nYe2BKP~<-5NYwgUMV3JiBq%(!)IZ{7cu9>j zVI`d^FpR;`@IiJq;x^A*OW>5=DHvOC>Ikhk@6YSEoBjOlC8cXrJ6NfMoVJ(PA3pm} DKw8T+ literal 0 HcmV?d00001 diff --git a/structminio_1_1s3_1_1ObjectVersionArgs-members.html b/structminio_1_1s3_1_1ObjectVersionArgs-members.html new file mode 100644 index 0000000..779c5f6 --- /dev/null +++ b/structminio_1_1s3_1_1ObjectVersionArgs-members.html @@ -0,0 +1,88 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::ObjectVersionArgs Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::ObjectVersionArgs, including all inherited members.

    + + + + + + + + +
    bucket (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    extra_headers (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    extra_query_params (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    object (defined in minio::s3::ObjectArgs)minio::s3::ObjectArgs
    region (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    Validate() (defined in minio::s3::ObjectArgs)minio::s3::ObjectArgs
    version_id (defined in minio::s3::ObjectVersionArgs)minio::s3::ObjectVersionArgs
    + + + + diff --git a/structminio_1_1s3_1_1ObjectVersionArgs.html b/structminio_1_1s3_1_1ObjectVersionArgs.html new file mode 100644 index 0000000..42b651b --- /dev/null +++ b/structminio_1_1s3_1_1ObjectVersionArgs.html @@ -0,0 +1,136 @@ + + + + + + + +MinIO C++ SDK: minio::s3::ObjectVersionArgs Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::ObjectVersionArgs Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::ObjectVersionArgs:
    +
    +
    + + +minio::s3::ObjectArgs +minio::s3::BucketArgs +minio::s3::BaseArgs +minio::s3::ObjectReadArgs +minio::s3::DownloadObjectArgs +minio::s3::ObjectConditionalReadArgs +minio::s3::ComposeSource +minio::s3::GetObjectArgs + +
    + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +std::string version_id
     
    - Public Attributes inherited from minio::s3::ObjectArgs
    +std::string object
     
    - Public Attributes inherited from minio::s3::BucketArgs
    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    + + + + + + + +

    +Additional Inherited Members

    - Public Member Functions inherited from minio::s3::ObjectArgs
    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::BucketArgs
    +error::Error Validate ()
     
    +
    The documentation for this struct was generated from the following file:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1ObjectVersionArgs.png b/structminio_1_1s3_1_1ObjectVersionArgs.png new file mode 100644 index 0000000000000000000000000000000000000000..689cafe270bdd980a30f36dac7ec544ce7e8e523 GIT binary patch literal 4128 zcmd5Aq0qlGA1TKP$9hXnsc!;V_lucn*N!rm6daI_d4h7 z{eAn}dw+QZ>tp_k%_}A*Cg#3}4t!{0Vv05~S#k0uGw@H$-qJkqv*Cz;&<94N5iB1~ zYEp9VTm-A-Z(Cd2sxL?E!Q)Hh53zwJzzF$>?gi~KF|n-nJ@8)8*%eb#CFNS^YoGsk zm$*)5{3c;?ef+iIL+_;FzY00p^b(CVgUXcdrH?B<{p9tpA*kdXWn1Vai|Q!~ z7`?vlGI{f#lnUiKd?X}_dE>mqX}AQ2Ct4*zkmw5e_>PHO^ssIDR?54lSMO@R&HT^{ewk3ktQfX4S{JpZww zeVI#mDg?1lY#?&uvtZcTI&LoEba4d?zYQEcW|va`s{fmlk>MXF76=|UQ7&0jJ}e+p zEaxwFh$o^qXTNtME#n(O(){>WQ$^#2VkjrYjvh!xcgHG6Y`<`#Hx35vzW?D{jtkMp ziff$KToe9~bmC57gKJ5pbq+{MC%~1+s{%?@0Z)Pp<3QZIC$n^k8p4I~%&3jlN?Y;A zcRt0)Z;)X)a`e_FR>fP&HrPNx^Ixuh#xnx}o$H!-wHKg#5k$e5bRVby1ZcJOISoWm z5FXc{XRel>OcF9Fg}x#|AGi!?au4k5#6TE zN&|ic?zCAoYmS@v7w2v_TFY>YXC-&9Jgy^CD&j^zb%ycdSp2yWe=p;(P)v ze^A$>cShbQlp_T-<5Lh?vSFUx5Igr8&V3^_BXn(kFezok`F6}j^?l0 z84UPg?Dl)Bl7H@GT0fp1S>JYitdxxX`Jfx*`k5|W4`HalQ!do)>iM8+xAyg!C&WD{ z=5*$6<`lM|X0&99$<;3Lp7yI3}971%lt6$>T=4}>Lox9tyGh3;tRl5#^Z{ld{^wXEc@$KsPZ1P;maihBP4-iy` zD2in{Cw)#!qx8~joX^9HNoT7#^KQ8zw&YXouMIz`&9;IdX&$i4rK5M>j|pi-Z;Y$T zMdSP3kJZ_ehz>=}rOSf5_%MEO${Pt2! zdm^veoZVb*u080~@2+NnTGQCoe*;cC=VPA=iOg>XBI@N)#wj+hfYk`&W&Vn;KMDv~ zP=O91q)}ZDgfvBf%G;iA2#_r9Oti(IRyOm@SFYUW1YY(M^C+ADgqZc>-DB36qCvf{ z-DdmGcI)31gvWDxihAT(D@-FF8k79;ESiJ<-g^8OdhvW`@%RmJt*jr3wp~x=b;c^I z%)7ym=7t>9L(nMzPd;33Z(#UAI1+^$%gqA>C8(>*f7vmdzTI@H;py2?LT=JLb}@x?;ZZzxr@k=5uG(-@ zUtkfJn{~WFRfC5_P`*<4S6EGJ>geMd1GCreQzy5kEV;@?SRQzTxL*=6LMV>-`nI=- z<{o~Bc7R1GE=zv+8lQtRoA0qB$);v{At*(87>&6Ndz74hbtp+(8rxc&F}o;hPE1#a zFP3afiM=lTo|fXJ4X2~Utj>h zaAGSe>gq7wkg24(5u`X$Rz<6yqPA=D;>^ZDW)0Y{zX_bCZX}m;y7A%5S3R#BS-K~% zlo+{&lopICd|v}x%1E<1CUOo7#cTT5aplPwcbd{Jfqx&QgGJs2xM^(oE^X-@>ChA1 zYA2EohRa9}Ko=jK!!?{;K%oYKWd10NSPc7)W9P0&m^0ILID6e}xg@B4I3YH?Wh>ic zu{U5bd&YjQ$g@mei1H7fuTqub+=i94y|X)U__WrPJ&v+wPihr_1W?0LsxG}HK7ody zcOMV3E8tN6PgYx*586YpZ$l8u%axhE9f$5AB^TRNz*S+}nOUBXilb7OX(T$xgkj89 zz_J!V+`6sc$t@qL%ga*-77`U{eUx91@6D_<%2M8M;|}fL-!=}?V>W&dNR&`yMZ1Dz z&lZq9VRwG+y8i?96B0O*cmrzlC}eoI!ByGj_xxz{Z*uL~?DL#K2?1ma>J*YVy~b(u zSUxf@#j?P)LAM2>fy_g`Y*^K^4fvJ6+<<{_$shclId-oCM(=2MmOa*}J2N2&@0oZA zP!{8_@Ii6YQ^Qk&vl0vSU)e`Z`+SWa=ANN+rMt<$^oBwFQtvO$eZxxqkKRGTX?0;#O~;YlQG(1K+#dVWj4i!aVy?lea*_`+ zwYfS`Fqgyq6gpRu`1`ApLTPgrT9z{=V<(?Hq2(+jH}n@w0maD?^*5&8(uSOLKjVmV zImOgauC~j)NOxcxB45N^?4izJ(F$3+2VjgRv4wm(V)6rL@j+%sonzNX#}1%OKWK5m z`Ldok>S=do6kn-JPjkO&Jooa1s>8{lQnHVnUe$Vte zcRkv@)VGn8pS*<47-t#`)-X5%PVb#$rcYr7=R+LTZIJpRsDpi7iQ_;s>lhe@U`xJ!Azo+n2Q+Zg)g5KSvE~RR%9aZQpnc;n m#B~I7m;^W#t&ggj!PG7gCshG1 + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::ObjectWriteArgs Member List
    +
    + + + + + diff --git a/structminio_1_1s3_1_1ObjectWriteArgs.html b/structminio_1_1s3_1_1ObjectWriteArgs.html new file mode 100644 index 0000000..a0edded --- /dev/null +++ b/structminio_1_1s3_1_1ObjectWriteArgs.html @@ -0,0 +1,159 @@ + + + + + + + +MinIO C++ SDK: minio::s3::ObjectWriteArgs Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::ObjectWriteArgs Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::ObjectWriteArgs:
    +
    +
    + + +minio::s3::ObjectArgs +minio::s3::BucketArgs +minio::s3::BaseArgs +minio::s3::ComposeObjectArgs +minio::s3::CopyObjectArgs +minio::s3::PutObjectBaseArgs +minio::s3::UploadPartArgs +minio::s3::UploadPartCopyArgs +minio::s3::PutObjectApiArgs +minio::s3::PutObjectArgs +minio::s3::UploadObjectArgs + +
    + + + + + + + + + + +

    +Public Member Functions

    +utils::Multimap Headers ()
     
    - Public Member Functions inherited from minio::s3::ObjectArgs
    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::BucketArgs
    +error::Error Validate ()
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +utils::Multimap headers
     
    +utils::Multimap user_metadata
     
    +Ssesse = NULL
     
    +std::map< std::string, std::string > tags
     
    +Retentionretention = NULL
     
    +bool legal_hold = false
     
    - Public Attributes inherited from minio::s3::ObjectArgs
    +std::string object
     
    - Public Attributes inherited from minio::s3::BucketArgs
    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/args.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1ObjectWriteArgs.png b/structminio_1_1s3_1_1ObjectWriteArgs.png new file mode 100644 index 0000000000000000000000000000000000000000..9fe7231f1fcb2bc0d3decc8d847ecaeb61673a75 GIT binary patch literal 4528 zcmc&&dsq`^*5_8?Ly_)UC>JHQc437=Rqh&-)vZfWZWV^0T%w?$1i2WHL_&gf0Sj2V zqH+fn0U00>kP3zn3kF04R15(m1j7BAgai`Eg`L6nX?MTwAKxF_Z=PpnPTq6Q%(?#F zGx^rb!$nWmL|08sP0#hKFORFKX|mMR)c5FULMs)Y@8Uu?BQH0fBkSwy5IH@+9GBVh zJw$DsPoF;h;M*Yt^iwDHxQDkIBm^Jq7e4#c)c$~W{qm3xL4AR{aPi(zqvY4DW4EM~ z4hzv{FE5`zzQM2D#C@uB|A4Tcvhx%sktcQkCMjvXz8M4$RTyb}YVg;;{3ZSPUM;Oh zfBuD>W~b3};{p4oCy}wwrA!bc>Z3sLGAt3nFr;J?tHrX=8unsVhWB2rXD`w+S%sUG zmnrAtYTpL&co-6DacO-f=@_dVSNwySH5Ymi^oD1HX_+%cM^!cpYarE}hQBtpARjZQ za!d=ofn`6-lq5ffAqLYrXa0Of7dg1BjJlW%&PHZ9_EDcfh6Z=0d8P{=@p1Rd^Lo|; z9lF2utPOe>1F7{tJMneP+`8o-L!6Y2ED z(rd7@#T5Nrt7rkPNRFM==#l!Eml`T~$G% zdk64?eht0=dl#Ik)_NJe9hcSa7@s_h8DiwZ86gCTYU=QJv4StEJ#G)q$?0k3sn|=T zsDPD#+v8(YaXSEHLT|WcV1Vd7xEx;<6)<&1o+pb-APuehpYnU;5|wI|*-Zsc-b~y1 zNnaI<%@*c0(@$J+p*OF)r!%Ovbq2g0{y_cbaETrlHFnbf1wm(z3s?K$lw>meMVP3p>tp{Y z34{zkP@YGIx=-_=z7i#4)vxTTRR}J!7Nzg5cUriArQv{ z<~Wp|{;hocDmA|=S^Va`^)l>SC1?U?25Odn0h0Ha67--UpNIikE9cq}qzgM7d*qAV z&I^7GJ^=f#KNZY@=lO5S>0r2IKSCJV1}*Z5toB#k&SVDj@6IO(GyzSXVjxo$jAi!9 zAzZ;;9L%el1^_(VooQ*A#zjX_lkr3Vlf`LdzFy%wmmpemvqCCCGgqjsaDDvQaDqFJ zTlG|o6S=WUzVS5B@2lE?l@b_M#A(cRcPrFFu6ZKE4`APb3&Ne1-YMof$0L9^`}%Na z59m4hK1e!Je{MlJkX7aKfquI$aPS7?^l-Jzs-dGz^jt(0RO36cxl@`p?TLwdDrB`& zv0eaM^SwI&VCt7OIamUl%mZal%rU@0IK|{jzCH00cXp#(1l24^4#omV>0c@Z4)2{K zKjC*0B032=+BW+0)#&#b5bq$YVInbz*#}k1dlnfZ$?)Art?uGidI5!`Z(Cf`{X z`pYjjr+WPIqe0rhF)pp;o9+g5_#|Kf$;# z0*hxvd{KmtPtI*k0oImYkH0Vqf`S=*_xsgL0>k0bdO{h0MgtkqjX|y&MMADzbF@NP zxAa)4RFCiRdrxzUd#l2(xh`J znydB^(K8drU{{&`qKEritKn6=J&80yO^Akfuh-#vkkP-rp+A^=Lj7-VO9H3uTT_2N z*X_@}K|jaZt;731==ZlwDg5sXja+FK z$cryd%bVAC=N{%smAV_(TFPnNL;$$jMp1y^rn9;LkRZ1x`yNdO*f#r;L6A`j;d|lu zY6UpxU*-kWKlTX#>a*PLg5gon6cBDfB!l3}?cF}W!i6$^_)|N?^~4{Q}a{*3L+Y!P<)m2V?0a@0^S?lg1})hr+gz z9d0cc)`rzpfO&pK%5>>S$?gc}NsFBa3toGPL=VLi&BIt5q%wusRJ=7&Qg8R<1#w4% z!U$pea(YF&oswY_#~444v&(6xD7r%N2l16L=tMHgXl*)*!kEiUJ#dpuDeiNdIImIM z9eQaz`^TZ{s@gl%Ol`b(f5^*B1jEAC1Rx;=65MxEg2c-Q8sSJQ=Mp4w`vT6Y6!|8T zC=>D)=7q~Y+8adK=XbR$oA}aHa>9^!w7bZms4c4kNt4wLAdOa)(=>TdgLa*PV9#WG z=5Utrbqai*d*jng$bsz(eP^7m1kn)b9TqHA(a^M=apy$9~`O9x&S z?R7h~H0{~k64a<2<=eEHgFs*Q43(T@={IK;`H<+rU0atIMIbdiSh5*SBd{a74Xwz; zp?sevq+|*wQbr?&%iFyN?(>reUKYlzhlFO(hOWk2sdD$C$r8gb$#GU4&lMknCeQUO znsqmmazA&IMGlp0j`SAg4FvFlQWc_x#}5c(&T@$;43|QWhB9?FJuN%bcJ;b+7v(Nr zTRPH}=7$2xzCc_Ux5m-sU?S8jsMyDE0QU59Ujv1x8#R0b1QVnf+30Q( zYJ7?_a9Q_V#%f22BbWOXtM$#pV=SEN1^~o|wsFH*V(;^J`0dgW8U`6(Pd8R3r*XCq z#yxgX2D74EkdBL7OO<3Mukh$*oTxQH*ltzC>|e+rS3&KISnk|>0$}%T^s{oC_j3dj z4F5RyFu)!@9s{sFmK0F?T6;f$THKNf4!Zu*=SVb!2b~{5ExrQ8@T7_9f1@ZM7%@Dn z3vI#)^71k@_4OQ0EiElO^NqoNYw8(jXk35?j#qbR*Rr5d$Zlig&wsP$x2B@so|S%H zeY*a3G}`GIbk6H)Xaq_0k?33vErsWw)M3m_ivR3)xl{Zhu=I46B=Xj8y4@AX$;sF} z4Xyb*G%);?(-jCbmHysINjpA+$Utaol6n0R3gi*UKK(!a?aJh__XuRZ&lWj7k^G&bfRxT0#zwBh5}!0N6Oueq zDF`H~hlibzjY(9bk?EYdF}z8~d7R=M$Kqj6K+zUb*GH%wviVQG2pPQSP+_zZj}eLb ziXvA;x4$czhA^m5Fhh_}Hgq=UR%Va`5SjUboW!g-hOfv5PuwR23@8r5i9qJ zU76oyZqTY4ejt-5DeGznDNCM-8O68g!BqNU-z;dtZ~$f6lS^ktOo1jl;ec&QP2`5x z3FZ8WTcfLMagX=EG{e(9cr;Caph*dPR+;wkrshY_P}p={uDfN5lJT`jL7j6M>#@O( zY}RLciN~^m@_8li|s&-1TO0YJ=QVP0f?(`Dh`6znfa7eAl4#LhqPiYhLUYy034BQXy=LKs3 zfd6Ho6IvCms8m(a$_I|>hqreOC>HR@*H=2L*oF?)NT=76kb*; V5z#(|{$5dYJ>u~t_3){0{t4L&nfw3% literal 0 HcmV?d00001 diff --git a/structminio_1_1s3_1_1Part-members.html b/structminio_1_1s3_1_1Part-members.html new file mode 100644 index 0000000..0f40de9 --- /dev/null +++ b/structminio_1_1s3_1_1Part-members.html @@ -0,0 +1,85 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::Part Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::Part, including all inherited members.

    + + + + + +
    etag (defined in minio::s3::Part)minio::s3::Part
    last_modified (defined in minio::s3::Part)minio::s3::Part
    number (defined in minio::s3::Part)minio::s3::Part
    size (defined in minio::s3::Part)minio::s3::Part
    + + + + diff --git a/structminio_1_1s3_1_1Part.html b/structminio_1_1s3_1_1Part.html new file mode 100644 index 0000000..a728119 --- /dev/null +++ b/structminio_1_1s3_1_1Part.html @@ -0,0 +1,100 @@ + + + + + + + +MinIO C++ SDK: minio::s3::Part Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::Part Struct Reference
    +
    +
    + + + + + + + + + + +

    +Public Attributes

    +unsigned int number
     
    +std::string etag
     
    +utils::Time last_modified
     
    +size_t size
     
    +
    The documentation for this struct was generated from the following file:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/types.h
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1PutObjectApiArgs-members.html b/structminio_1_1s3_1_1PutObjectApiArgs-members.html new file mode 100644 index 0000000..4ced924 --- /dev/null +++ b/structminio_1_1s3_1_1PutObjectApiArgs-members.html @@ -0,0 +1,100 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::PutObjectApiArgs Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::PutObjectApiArgs, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + +
    bucket (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    content_type (defined in minio::s3::PutObjectBaseArgs)minio::s3::PutObjectBaseArgs
    data (defined in minio::s3::PutObjectApiArgs)minio::s3::PutObjectApiArgs
    extra_headers (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    extra_query_params (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    headers (defined in minio::s3::ObjectWriteArgs)minio::s3::ObjectWriteArgs
    Headers() (defined in minio::s3::ObjectWriteArgs)minio::s3::ObjectWriteArgs
    legal_hold (defined in minio::s3::ObjectWriteArgs)minio::s3::ObjectWriteArgs
    object (defined in minio::s3::ObjectArgs)minio::s3::ObjectArgs
    object_size (defined in minio::s3::PutObjectBaseArgs)minio::s3::PutObjectBaseArgs
    part_count (defined in minio::s3::PutObjectBaseArgs)minio::s3::PutObjectBaseArgs
    part_size (defined in minio::s3::PutObjectBaseArgs)minio::s3::PutObjectBaseArgs
    query_params (defined in minio::s3::PutObjectApiArgs)minio::s3::PutObjectApiArgs
    region (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    retention (defined in minio::s3::ObjectWriteArgs)minio::s3::ObjectWriteArgs
    sse (defined in minio::s3::ObjectWriteArgs)minio::s3::ObjectWriteArgs
    tags (defined in minio::s3::ObjectWriteArgs)minio::s3::ObjectWriteArgs
    user_metadata (defined in minio::s3::ObjectWriteArgs)minio::s3::ObjectWriteArgs
    Validate() (defined in minio::s3::ObjectArgs)minio::s3::ObjectArgs
    + + + + diff --git a/structminio_1_1s3_1_1PutObjectApiArgs.html b/structminio_1_1s3_1_1PutObjectApiArgs.html new file mode 100644 index 0000000..f194740 --- /dev/null +++ b/structminio_1_1s3_1_1PutObjectApiArgs.html @@ -0,0 +1,172 @@ + + + + + + + +MinIO C++ SDK: minio::s3::PutObjectApiArgs Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::PutObjectApiArgs Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::PutObjectApiArgs:
    +
    +
    + + +minio::s3::PutObjectBaseArgs +minio::s3::ObjectWriteArgs +minio::s3::ObjectArgs +minio::s3::BucketArgs +minio::s3::BaseArgs + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +std::string_view data
     
    +utils::Multimap query_params
     
    - Public Attributes inherited from minio::s3::PutObjectBaseArgs
    +long object_size = -1
     
    +size_t part_size = 0
     
    +long part_count = 0
     
    +std::string content_type
     
    - Public Attributes inherited from minio::s3::ObjectWriteArgs
    +utils::Multimap headers
     
    +utils::Multimap user_metadata
     
    +Ssesse = NULL
     
    +std::map< std::string, std::string > tags
     
    +Retentionretention = NULL
     
    +bool legal_hold = false
     
    - Public Attributes inherited from minio::s3::ObjectArgs
    +std::string object
     
    - Public Attributes inherited from minio::s3::BucketArgs
    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    + + + + + + + + + + +

    +Additional Inherited Members

    - Public Member Functions inherited from minio::s3::ObjectWriteArgs
    +utils::Multimap Headers ()
     
    - Public Member Functions inherited from minio::s3::ObjectArgs
    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::BucketArgs
    +error::Error Validate ()
     
    +
    The documentation for this struct was generated from the following file:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1PutObjectApiArgs.png b/structminio_1_1s3_1_1PutObjectApiArgs.png new file mode 100644 index 0000000000000000000000000000000000000000..89edd46de4d89e40eb96d314d849868d0c156d1c GIT binary patch literal 2042 zcmchYX;hO}8pmG*X@~_hs4#+rEi7RZK}L`Rg9Y&=5-2-|uuTL+tUw?V%33FgDJbOy z61D_q6jPuGMlqqRO%N3jJFF#a21E>N1lba3CfJ!dJ@cXMr@80cd!Ogr=iGDd|NQ>< zp?G24l;OwV001b1=Uu#IdjkN-oq);9BAo{ZWGkTIb-~wFDwWE@cZ=)9eC{{0=;Q3@ z=-5vgN6J!Ik~h`|kQMEXp>E%k0PqO~baD12$t}@iZZGH@RLoU1*>qZ6>x%lUf(E)d z&)+Qjp`>d3swnKQc?pI$AsbZ-Gmy$@FbG-=J(AOR2M_V@n(;4H?JzeB25xT(j zNw=42OYF|qBHL}skl2qqJXnN(DHikV zbzcSCD!6A=?;7Y_RWYm`nM~)6&Z2Q7b2mqWv_iyoHk0|>bHL$;XWnPwenPnF^+_A5 zu?ly0qKI?IQPru6r%u@VNwocs3b`2M?2PX5{lxr%KFKBb^Ux{F%IJ!6D)^9V)m5tF-tVxd&@>mi_@egLDk*#PWLTA8pmS+x?m~acb{(Oh37+%k zyf`x3M76Yv@wg0lD|Y29F^&!A4nq4{PaS8YVtVPKs3yxsbKhK>k?ojO;=~H+^(wmN za%s~sb1>wp{&#o0`TP^jJ}LnOyK5l=Oc*%7mMoAIUCQ3fv4ifW+|0j6K3vm(L|b7O zjZ5x+d28{2+cP)sX-fRz1oU=Z;pRWP*!4)svMupXo<@sI zg)DQ6Ps1q(m6Ya7L(PWn5GrfcbffD3%jW&`53HyI_g{x1-ETKGIQxp1z0xM7r9hJ&Fs z!-Mpm-b1pFa6$oBeh08$<2PX0r4fDI7+iZTSP_O2dE;QA3uG>dR*gscikJL6UB-9?ARKC4Ti{`-N zOqct|l8EtT3s?L@m%@7^Z(!L7Nm6a;b`bf9Z+Fb_=N|=RN7S*HrsLz(!J=exoVQ;7 z=%%1f^e|*Vx}g+$UdhC_%2cN0`Vd>%UE<8faGZ(}BX{Oz8E-^hr&C9SBBqw(6GEHu zT>Pl3F#DP(rKa&vAJfHj2gxKGq-W6__dz!Iou1~y^PQZ}aWhroB@@!KWYi0V{|Aa_ zE&Eeo71@gzl*xQpExgp;%d)As0bcGd432Xl(am24mJe-~VWD{z+-V5@D({hKcp)&l znt5alxG#1kt+ZXUNNDY2?e@^iG}mh}g^TVIztHbtace8Faclm1aP+JOF04{KyO}|s z9c|c2Lb0)H6?!sTV+-?GXHfWnEeFi5+3d?%%>Y5vbgaAaw?zz*F={zGxqZXmowCDS zwF&H|-ow+mR#<8=-nj~b%L0n3*kIdv>M;vKo6Snkr!tBx($J0KyO|-`Fd$)_V z%UhD&7sr|}gEQToO!|nY5_nQD8t@lrIVNh0DCkjtj@zo2bIjx|>6?Mb&TP~R#Gcqk z1seDY7@(#NSX-5gW~@rzU*YDi;JOBsBqnmd%rLZSgUh z4t?JTm*d~s*q%DRL<`!ualdImA^vSEtRBD0;eXdQlC*E0ko3;sIUPHIZ$3R7G#~TS zHmf@0&}4IfQDic8X)4so-annyca;@3R9l(NekkFOwG_j?^1dB3zu?n8I9ysKre$M2 zn(9jH)g$(O^gmN;8D1G(4T)V$$Dc@@NkxcFt^_~CrF~*9+1ye5S;s*|oK7ys>sP|( z9OvFi?NAIDQ-f-JE0F_ZH{S(w*o4z7!ukC}9)2g8t~H6ARQG%Gualt1T+0dsVCWDs zGx~C&6?t?ylhmfSlSUCty#3qy1WY~+_V1<= + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::PutObjectArgs Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::PutObjectArgs, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + +
    bucket (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    content_type (defined in minio::s3::PutObjectBaseArgs)minio::s3::PutObjectBaseArgs
    extra_headers (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    extra_query_params (defined in minio::s3::BaseArgs)minio::s3::BaseArgs
    headers (defined in minio::s3::ObjectWriteArgs)minio::s3::ObjectWriteArgs
    Headers() (defined in minio::s3::ObjectWriteArgs)minio::s3::ObjectWriteArgs
    legal_hold (defined in minio::s3::ObjectWriteArgs)minio::s3::ObjectWriteArgs
    object (defined in minio::s3::ObjectArgs)minio::s3::ObjectArgs
    object_size (defined in minio::s3::PutObjectBaseArgs)minio::s3::PutObjectBaseArgs
    part_count (defined in minio::s3::PutObjectBaseArgs)minio::s3::PutObjectBaseArgs
    part_size (defined in minio::s3::PutObjectBaseArgs)minio::s3::PutObjectBaseArgs
    PutObjectArgs(std::istream &stream, long objectsize, long partsize) (defined in minio::s3::PutObjectArgs)minio::s3::PutObjectArgs
    region (defined in minio::s3::BucketArgs)minio::s3::BucketArgs
    retention (defined in minio::s3::ObjectWriteArgs)minio::s3::ObjectWriteArgs
    sse (defined in minio::s3::ObjectWriteArgs)minio::s3::ObjectWriteArgs
    stream (defined in minio::s3::PutObjectArgs)minio::s3::PutObjectArgs
    tags (defined in minio::s3::ObjectWriteArgs)minio::s3::ObjectWriteArgs
    user_metadata (defined in minio::s3::ObjectWriteArgs)minio::s3::ObjectWriteArgs
    Validate() (defined in minio::s3::PutObjectArgs)minio::s3::PutObjectArgs
    + + + + diff --git a/structminio_1_1s3_1_1PutObjectArgs.html b/structminio_1_1s3_1_1PutObjectArgs.html new file mode 100644 index 0000000..c61c29f --- /dev/null +++ b/structminio_1_1s3_1_1PutObjectArgs.html @@ -0,0 +1,177 @@ + + + + + + + +MinIO C++ SDK: minio::s3::PutObjectArgs Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::PutObjectArgs Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::PutObjectArgs:
    +
    +
    + + +minio::s3::PutObjectBaseArgs +minio::s3::ObjectWriteArgs +minio::s3::ObjectArgs +minio::s3::BucketArgs +minio::s3::BaseArgs + +
    + + + + + + + + + + + + + + + +

    +Public Member Functions

    PutObjectArgs (std::istream &stream, long objectsize, long partsize)
     
    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::ObjectWriteArgs
    +utils::Multimap Headers ()
     
    - Public Member Functions inherited from minio::s3::ObjectArgs
    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::BucketArgs
    +error::Error Validate ()
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +std::istream & stream
     
    - Public Attributes inherited from minio::s3::PutObjectBaseArgs
    +long object_size = -1
     
    +size_t part_size = 0
     
    +long part_count = 0
     
    +std::string content_type
     
    - Public Attributes inherited from minio::s3::ObjectWriteArgs
    +utils::Multimap headers
     
    +utils::Multimap user_metadata
     
    +Ssesse = NULL
     
    +std::map< std::string, std::string > tags
     
    +Retentionretention = NULL
     
    +bool legal_hold = false
     
    - Public Attributes inherited from minio::s3::ObjectArgs
    +std::string object
     
    - Public Attributes inherited from minio::s3::BucketArgs
    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/args.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1PutObjectArgs.png b/structminio_1_1s3_1_1PutObjectArgs.png new file mode 100644 index 0000000000000000000000000000000000000000..87d50cfad079f3d921564536f1fd47423d180d04 GIT binary patch literal 2021 zcmchYX;70%8pq$v2n0}$zz%qDC`62~+=5&(P#h*9K_eh&2(p2=pvWN%hY&1H$g)wH z2^sE)!xcdYI2aBI1cMvo5LS>wMVJ@lkTVQ~M8mPc^264CnB7m?Ro(qORb5Y2|N8%b zI`a(Hd!Nby6#xMCAy0eY&-nOx?(FQy!?{IqLYCl1dGuwr zx3?=~jv2^PXgm&k4v-((9YfuI)&QUskMwZ!OM)!1BJM31YADjx5fazm*MuaWMf+@h zg-WAHMPg1|%d_-MD`CDNYQVXv&NygNzzFL~SEkVm%5d%vpH{mfpU%AeGxEUiub{QC zps+`KxdPw2#n9+%18cNP#0f~Rm>`|Y-CovXh)zk!;$`Y)v53@+uFak)c~Eia%J4`U zKf^iXgcn2TOs~6za;S0XUUsC_qb=}BIYtJsHe}|eVDQ`rcEtVPh={|~D!hvNt#R9& zV`_q}MntSpsy-P-bA164J7(!|ie+icELyzwYZt83N-5$na@hIQ&wMv2@1SwSi}N1R zC3`$BxD5_B{-|kghRoT$&aco;-6;-*SIUuEDTUbh{l zqgeNx3Necf1<-$xg6s7Eq;w99Ih*Z=g8Ju*O_2LAJ!GpqG{YYYd1g{^RHA1&4E#x{I{$!igr~T!Wo)k zflusyd3W)4>68&-)$649T1t+cUT>U~x76cMWH#7>b>hErROAW_9OZaclH!i1-xVc? zoF4eogckUyw%M2^tz!OI=7bMq$Vni74b!}5CCmgYK?O^#dSyN#dw>5?p0qFAnN?Q| z0~(qvZ^F&@UdmMcHgHk^V(UJyHKNn10o9skRqAFCsm?cu2P zmLEEnzO01T3#|exYwOYdU(_e$V;<13qw^?ttYtkb@ zapY3USQRz#cIget-d0h=qVc}D zUA6xPUd6rzv zT{OJp0q)*2vA8mXys~Ask}=ITZB8hd)ecqoIj$g#`5v*~g4$pIx*s==Z+oR`uO&hJ z@&L!7cq3vhcrtDy4)sCjzCqhK7hXv|;;i;LjZ#RQV!~#13=u`r2oz5fYgJt$DLu4I z*)gSMu?j7^N!LioLI?f;F*}3>lWlM=3^ZA#MUOYB}SrPt+O3< zvwtE+21O4j?b`i|FFj8Rbxpo$r|7i%^d8+z!H}E_MUzgstMLLd3K;!wKL58azz%^P z?%e~qr2n;_e!w=3>8)RsL|y-_NLW!(+FBSMoutp5@JiBSU4Hm-{szY6fw?!W^Sj%e zi))YjaK5Gu5Far%X@$Vb&#k|@vyn32WYH2bgm%#wpP3jLpQ-VHGUI&kA;q7|8|XoD z+jA-`zVERV>_J6b=~%=%q#{!9m!sy*6TKSvF#Yo9t)lHfZcM8UdJ>4=bWb|8E`!>4 zdN~{`h&fpH{2-{^0c(m?OB5LNfIRl2!~lE$uA_Sfjs|j?6jrfL@;@0sdSX2|?w4-;3;q+z A!T + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::PutObjectBaseArgs Member List
    +
    + + + + + diff --git a/structminio_1_1s3_1_1PutObjectBaseArgs.html b/structminio_1_1s3_1_1PutObjectBaseArgs.html new file mode 100644 index 0000000..3d06ddb --- /dev/null +++ b/structminio_1_1s3_1_1PutObjectBaseArgs.html @@ -0,0 +1,167 @@ + + + + + + + +MinIO C++ SDK: minio::s3::PutObjectBaseArgs Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::PutObjectBaseArgs Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::PutObjectBaseArgs:
    +
    +
    + + +minio::s3::ObjectWriteArgs +minio::s3::ObjectArgs +minio::s3::BucketArgs +minio::s3::BaseArgs +minio::s3::PutObjectApiArgs +minio::s3::PutObjectArgs +minio::s3::UploadObjectArgs + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +long object_size = -1
     
    +size_t part_size = 0
     
    +long part_count = 0
     
    +std::string content_type
     
    - Public Attributes inherited from minio::s3::ObjectWriteArgs
    +utils::Multimap headers
     
    +utils::Multimap user_metadata
     
    +Ssesse = NULL
     
    +std::map< std::string, std::string > tags
     
    +Retentionretention = NULL
     
    +bool legal_hold = false
     
    - Public Attributes inherited from minio::s3::ObjectArgs
    +std::string object
     
    - Public Attributes inherited from minio::s3::BucketArgs
    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    + + + + + + + + + + +

    +Additional Inherited Members

    - Public Member Functions inherited from minio::s3::ObjectWriteArgs
    +utils::Multimap Headers ()
     
    - Public Member Functions inherited from minio::s3::ObjectArgs
    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::BucketArgs
    +error::Error Validate ()
     
    +
    The documentation for this struct was generated from the following file:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1PutObjectBaseArgs.png b/structminio_1_1s3_1_1PutObjectBaseArgs.png new file mode 100644 index 0000000000000000000000000000000000000000..a954402008ef6200728dcb8807420d827e4901a5 GIT binary patch literal 3341 zcmds4X;c$u7Y>RFtqNjQT*?v#_^1&$EYcvdNKnFJD=?reqFA8FR)g$eb3u?LFd(U* zM5_gzK+pg}fC54x4H!{rMD{I6K_DS161MQoX!Z1b?N5JwIVW@Od*@wd?sK2}+)4fR z=#fpI?fMLZ!E7Sh5}YuYH2?-9qc67>@jSSYk2o;O-#WP1tgfyi<{wjY;gqH<#CrE{ zY;0VY+NX*P<<2`Db;cl*&>yeO#Q=lZc!Nl=a*2|e?w=-!OgA2We%YXT#apD~t)3*; zQ}z2kf0fqSUo)q_nmxSud1#xFW9I=Gne_%B_=`fe?BT6MHA{OS39~O-c1;CAN$#0w z9Wi3J8yFs3+waph>WI;&TQTkbJLL~q-eqU%$GJ95zQSI8X z%{A4hzMjfA6Nu)GhOwLgfwSP)NGc!}(xhX>#6i0*EnRrw5rJ}iP^ zZDbGg9O7BGu86RKH_H!|P06kYTzE6dzT;tY=*^Q@P7cX%M@|~P+-h&2Q^=5>XcsY` z&)ik#m!?&Ex3AHg501S~1*+OZ?YMIhAa5;JKK-?~CO$XaciiRtcDpCr#zx;vJ@#oe zxOhVgnLo&90U&6>^wHft3>PX9PZ=fL>2m?&t|IPK zK=GC)WSN*}yGF(xD=+)~^`d|nZMDYL#DlVO4{VUoeYq5eOTuhI0(hSMwUWJB<9@_6 zQ@i@NHUHS;6FXM776s%F$jj+x-G?XRQULw@4^R8?pbjFlw;F~6d#ATMZ>GWUHhQ*m zaW@@?HPA5U5I3_AsxHiq98HWRMy#G90!h!!a`{o|{xaqay{}4?TF7zQoR~%5p=Ydg zPo=hVe~@e6!>3|TG8#Q!$8Ppgk-`?cjpnK1r;wNP(-BdP*e4w1X`z_||_RHn(}NRfv-_ z$a|N77f51D2p^x4PlK0M8|E9*@&_5pxgTK5aJqCJznN8Di#ml=(E}O*^aXMJxFr#Y@ay z$sg^SSj2KBXg6Z$WEU{p8qJJsepH+GvCQJwfJ!=eKvnS5Amaqt%Z>5c6*NY7DtBy7bg>xB+g89cfKRdB{axc#NDS1FN| z)X=)OjT=W|`K4u$$}9X%oORs~g29RiD_60c+fKLx#XprRo902Ci|xYbCf@;e#x;PN zox58SXqI;uo?K^!U(kDU72$vdmQ&-2EZvGM)c_WrOwj1ZK%NGIy`QbteK-c8>_6+D zfn(>NM=cXqWn$$NPo*I=GJU&re2ol}F|vP1egN_;6N3>m%JPf9)l8-TEux>;A=P&1 zH2P($;wd$R2}@`sK2+T@>0_9nk z1Ji6q%tJ8`wuTD2Yri>x);bet4`q^^tJ)=gtlRlF*oQluAZvmC963;jqjN$0=Ydd^ zHLlR84vm0U88(nFSuEew#e81E>OFm?$C&LIQW}wo6#PD4sE1eCe}nIs@#+bJen}_$ zCxc)+W{np}-;SK;P303=*Sq$Z)3W$R!P1i+Ii$4>Pc3X;Xi=A#Olb`xps4@nYY3j< z())dV+SG*<6W0#i^UxCp&Ys(L8=-M)F~a$aXn}Vfx7d;PJ`Lh7RR5?y=YLE@ya7ul$~yai>IY^egVy* zfwM|^(`uaNgu2)-oDpI_v5<&|zih~C5Nps0=UDYQe4`cpg?x*dNPIju$JHcHXOhX$ zx$7*DdRr&TcpjaLDk>J67mkexr#*WY8uL~PqQe|ngJaK`-S-0fYq}8$4}Gva5qkez z&i)Vs&T!blSCv3jEpCP7cWHsfRv@VB}I#+7Xx}L_t^|jo(W~^f( z^dMV7<}9-gplWr(udMe(WPs+_`uH@xYXuu1Pf`okJ}9@~vT>CLy^V=8_9(JSR7XTB zYl(W(`8lh73)^E{T$h_gk@}8Ab9~2!TYdP+%^iA$iQ?n%ya+jJ%s z(7#03Z2cQO`5}VZA?y`(KG=L5E5A`ayID~LpT=d&CTIP2S}vNWkKk`@%h$hDcUBo` z=F|a_@}ZN)>6%cZq7uI3$D)8m`L{?aTUcUgMFBmp*;qvX2d<3K8E}m10A5r#3Bxi3 z2!_?s%fpY>`(cp%2O&Wlhk{D#ZLy?Zw>XI>Z2cC|Wm-J1VRj?ZAyPC}-K%NGXPf*b zRSu+A;RDecBhmMk=EvoCTUjVbY#P|AvB`*L*Y8*;M_B1vC*0`@?eVA0FIU%3)l0Lz z7y_)hqlH6#Ol(8@?3?p(h1EYAvSY9EfA^5ikC!b*77klAB8P-j7u@#3M)M3yH1RXx zJuB7hkrp0l?i|aSO@0 z(xbu(ohGns!(NcU3{-W33wzFgBCVkV!r0rWx9b;@*3lsiPioyn45w6cZ zsQ30wm7y1Lj}1$J`|#qHM}s}uAp?W4T4;F_3U`_tzS)3X^>i4FPqx5uf=^4uP|$|u zlTeU(vm#N2{c_--b}OP3gAm_v{NYZaD#Z7uopwNla!W%V(nHm^95_uj+B$*8 xm(WYzN9+Aifr$2@DJ}Fuq)FBoFcGa{T#FYab{j`CkZ%_Z(dH literal 0 HcmV?d00001 diff --git a/structminio_1_1s3_1_1PutObjectResponse-members.html b/structminio_1_1s3_1_1PutObjectResponse-members.html new file mode 100644 index 0000000..9295b6a --- /dev/null +++ b/structminio_1_1s3_1_1PutObjectResponse-members.html @@ -0,0 +1,103 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::PutObjectResponse Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::PutObjectResponse, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + +
    bucket_name (defined in minio::s3::Response)minio::s3::Response
    code (defined in minio::s3::Response)minio::s3::Response
    data (defined in minio::s3::Response)minio::s3::Response
    error (defined in minio::s3::Response)minio::s3::Response
    etag (defined in minio::s3::PutObjectResponse)minio::s3::PutObjectResponse
    GetError() (defined in minio::s3::Response)minio::s3::Response
    headers (defined in minio::s3::Response)minio::s3::Response
    host_id (defined in minio::s3::Response)minio::s3::Response
    message (defined in minio::s3::Response)minio::s3::Response
    object_name (defined in minio::s3::Response)minio::s3::Response
    operator bool() const (defined in minio::s3::Response)minio::s3::Responseinline
    ParseXML(std::string_view data, int status_code, utils::Multimap headers) (defined in minio::s3::Response)minio::s3::Responsestatic
    PutObjectResponse() (defined in minio::s3::PutObjectResponse)minio::s3::PutObjectResponse
    PutObjectResponse(error::Error err) (defined in minio::s3::PutObjectResponse)minio::s3::PutObjectResponse
    PutObjectResponse(const Response &response) (defined in minio::s3::PutObjectResponse)minio::s3::PutObjectResponse
    request_id (defined in minio::s3::Response)minio::s3::Response
    resource (defined in minio::s3::Response)minio::s3::Response
    Response() (defined in minio::s3::Response)minio::s3::Response
    Response(error::Error err) (defined in minio::s3::Response)minio::s3::Response
    Response(const Response &response) (defined in minio::s3::Response)minio::s3::Response
    status_code (defined in minio::s3::Response)minio::s3::Response
    version_id (defined in minio::s3::PutObjectResponse)minio::s3::PutObjectResponse
    + + + + diff --git a/structminio_1_1s3_1_1PutObjectResponse.html b/structminio_1_1s3_1_1PutObjectResponse.html new file mode 100644 index 0000000..8b125cc --- /dev/null +++ b/structminio_1_1s3_1_1PutObjectResponse.html @@ -0,0 +1,168 @@ + + + + + + + +MinIO C++ SDK: minio::s3::PutObjectResponse Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::PutObjectResponse Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::PutObjectResponse:
    +
    +
    + + +minio::s3::Response + +
    + + + + + + + + + + + + + + + +

    +Public Member Functions

    PutObjectResponse (error::Error err)
     
    PutObjectResponse (const Response &response)
     
    - Public Member Functions inherited from minio::s3::Response
    Response (error::Error err)
     
    Response (const Response &response)
     
    operator bool () const
     
    +std::string GetError ()
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +std::string etag
     
    +std::string version_id
     
    - Public Attributes inherited from minio::s3::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
     
    + + + + +

    +Additional Inherited Members

    - Static Public Member Functions inherited from minio::s3::Response
    +static Response ParseXML (std::string_view data, int status_code, utils::Multimap headers)
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/response.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/response.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1PutObjectResponse.png b/structminio_1_1s3_1_1PutObjectResponse.png new file mode 100644 index 0000000000000000000000000000000000000000..4398b4267125ce09a77c0cdaf1df57d9bedbfcc0 GIT binary patch literal 672 zcmeAS@N?(olHy`uVBq!ia0vp^8-O@~gBeKn>GHn=QW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;cVKkEjS%2&z{N(?54xOq)I`Dfyi z>eB4C^nGV`_`Fkp$LRNYr}mlReTg$!p8b@o*c$zJTWjpr>&l+TUopio?O*VGL8ZpY z9-q)_Yv+FT4YIA$TcUs1OY8BAhUQoIvUXJ5X#M-k^n<788qtqT`7c%ry#Bmy)(-9; zDlaYTcmLY(?U>&rztVWm7{>Wm3xw}%SNSwMF7IkiX=&%)%_^}kkN+>Z|NSY$v?ay7 z>^h$JH5*h<1~ck-&Z}bbzih&*!XR$T;C3nFK>zWCBa0dBD~~J5@mcI*X;{xBaUhtH z=fO$_whti;%oSPCp-=>>;%(#UUr&~w$zPRe z*!zCl)_3n0*_cb2H^kM>dwA3C_mz~d#>p&KlG*m1U_a1m^uZ|deC4_A!nsV_fAalE zjVnEQSmSiKnGt{3|Dxv9)cmb;Hbm?>7xySkLFLqmhp$6St(OO`yVLde-0oclvnMH^ zQJd@Ac0I|4C2#SS{Yy(XcVBzne;{4;quh_9+p9wkNLM8%-GAHPaDMVXyTi+Juc#I# z + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::RequestBuilder Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::RequestBuilder, including all inherited members.

    + + + + + + + + + + + + + + + + + + +
    base_url (defined in minio::s3::RequestBuilder)minio::s3::RequestBuilder
    body (defined in minio::s3::RequestBuilder)minio::s3::RequestBuilder
    bucket_name (defined in minio::s3::RequestBuilder)minio::s3::RequestBuilder
    Build(creds::Provider *provider=NULL) (defined in minio::s3::RequestBuilder)minio::s3::RequestBuilder
    data_callback (defined in minio::s3::RequestBuilder)minio::s3::RequestBuilder
    date (defined in minio::s3::RequestBuilder)minio::s3::RequestBuilder
    debug (defined in minio::s3::RequestBuilder)minio::s3::RequestBuilder
    headers (defined in minio::s3::RequestBuilder)minio::s3::RequestBuilder
    ignore_cert_check (defined in minio::s3::RequestBuilder)minio::s3::RequestBuilder
    method (defined in minio::s3::RequestBuilder)minio::s3::RequestBuilder
    object_name (defined in minio::s3::RequestBuilder)minio::s3::RequestBuilder
    query_params (defined in minio::s3::RequestBuilder)minio::s3::RequestBuilder
    region (defined in minio::s3::RequestBuilder)minio::s3::RequestBuilder
    RequestBuilder(http::Method httpmethod, std::string regionvalue, http::BaseUrl &baseurl) (defined in minio::s3::RequestBuilder)minio::s3::RequestBuilder
    sha256 (defined in minio::s3::RequestBuilder)minio::s3::RequestBuilder
    user_agent (defined in minio::s3::RequestBuilder)minio::s3::RequestBuilder
    user_arg (defined in minio::s3::RequestBuilder)minio::s3::RequestBuilder
    + + + + diff --git a/structminio_1_1s3_1_1RequestBuilder.html b/structminio_1_1s3_1_1RequestBuilder.html new file mode 100644 index 0000000..98bfb67 --- /dev/null +++ b/structminio_1_1s3_1_1RequestBuilder.html @@ -0,0 +1,144 @@ + + + + + + + +MinIO C++ SDK: minio::s3::RequestBuilder Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::RequestBuilder Struct Reference
    +
    +
    + + + + + + +

    +Public Member Functions

    RequestBuilder (http::Method httpmethod, std::string regionvalue, http::BaseUrl &baseurl)
     
    +http::Request Build (creds::Provider *provider=NULL)
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +http::Method method
     
    +std::string region
     
    +http::BaseUrlbase_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
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/request-builder.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/request-builder.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1Response-members.html b/structminio_1_1s3_1_1Response-members.html new file mode 100644 index 0000000..8f12a4c --- /dev/null +++ b/structminio_1_1s3_1_1Response-members.html @@ -0,0 +1,98 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::Response Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::Response, including all inherited members.

    + + + + + + + + + + + + + + + + + + +
    bucket_name (defined in minio::s3::Response)minio::s3::Response
    code (defined in minio::s3::Response)minio::s3::Response
    data (defined in minio::s3::Response)minio::s3::Response
    error (defined in minio::s3::Response)minio::s3::Response
    GetError() (defined in minio::s3::Response)minio::s3::Response
    headers (defined in minio::s3::Response)minio::s3::Response
    host_id (defined in minio::s3::Response)minio::s3::Response
    message (defined in minio::s3::Response)minio::s3::Response
    object_name (defined in minio::s3::Response)minio::s3::Response
    operator bool() const (defined in minio::s3::Response)minio::s3::Responseinline
    ParseXML(std::string_view data, int status_code, utils::Multimap headers) (defined in minio::s3::Response)minio::s3::Responsestatic
    request_id (defined in minio::s3::Response)minio::s3::Response
    resource (defined in minio::s3::Response)minio::s3::Response
    Response() (defined in minio::s3::Response)minio::s3::Response
    Response(error::Error err) (defined in minio::s3::Response)minio::s3::Response
    Response(const Response &response) (defined in minio::s3::Response)minio::s3::Response
    status_code (defined in minio::s3::Response)minio::s3::Response
    + + + + diff --git a/structminio_1_1s3_1_1Response.html b/structminio_1_1s3_1_1Response.html new file mode 100644 index 0000000..59c756a --- /dev/null +++ b/structminio_1_1s3_1_1Response.html @@ -0,0 +1,162 @@ + + + + + + + +MinIO C++ SDK: minio::s3::Response Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    + +
    +
    +Inheritance diagram for minio::s3::Response:
    +
    +
    + + +minio::s3::BucketExistsResponse +minio::s3::CompleteMultipartUploadResponse +minio::s3::CreateMultipartUploadResponse +minio::s3::GetRegionResponse +minio::s3::Item +minio::s3::ListBucketsResponse +minio::s3::ListObjectsResponse +minio::s3::PutObjectResponse +minio::s3::StatObjectResponse + +
    + + + + + + + + + + +

    +Public Member Functions

    Response (error::Error err)
     
    Response (const Response &response)
     
    operator bool () const
     
    +std::string GetError ()
     
    + + + +

    +Static Public Member Functions

    +static Response ParseXML (std::string_view data, int status_code, utils::Multimap headers)
     
    + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +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
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/response.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/response.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1Response.png b/structminio_1_1s3_1_1Response.png new file mode 100644 index 0000000000000000000000000000000000000000..9cd2ec00c79005b29125551edbd77adb6f88fb4c GIT binary patch literal 5380 zcmdUzc~n!`mc{`^ZABaAFS=orBW$49Qq*gV^m!O zM+>8}vQj>>9Shzr^Cc1OWWY)2gZt8cmy8T1)@uLv_JOjz4&KEce4}}Ht&Q>^?YWoO z{YAp!ft3dMnAkOtY1-^$UT;}&Qs0sFyV`rG^YK#*%S$_@#h8HGoX1M-AGQkTT-D~}(D^(Jp=z4% zaOz^;jpZ#O*U&bz?{qOVGi=VpolOX6H9fq>Yi;%DH<0dtozrvLbh)~G&3?M2?3x&L zQssWKWv8rl-{rnd|MgI-Hh+$?xiaHngv=JwcVYUoA=zQyK$|OfZDlg-rT9*FW zU>s}hc#vs>F@dY?GK3*;%iZxFk|hLgf~G2gS($JSXRgg{4Vpg@0X8~uu}Ww|Nc_kn zS2EVU!-dz%OGA*QS1>BVEYe(ANF6EZpouTt+o8lrr5|iR&$hY@K~kreL6fud5=>GZ9;bA>+n=)}#Ku?aUO5mOkI`#&bU$FK$7|mYdmA|2L55`kCwLum zm}?b`bh54>xo51?LAk_7oPxotXknY*I)5T@|y_~#Ii<;CPkr=mUEq|i1eDeANY~6FuPQ9Sa1$H;AD-N|L zO$^OMhxoVksms@8GYu;$e2%mHr`%R@!fDXk37^z|h8D~@rbcZbuHiHWJDmZPX)jO) zJA+*)-~-Cejp%z$2q`}%%s<35UeB8hU_Cz~AQ-DCl)oMvATh%{QsR0dc+T72xQ-Ml zI+g*}qQ*T#W4?e)DfSP@2GhiulsdEN&J&?=r$6X*S>*|4Qw{QhN!bHwc9lz{`62Cl z7@{VD4dk_F{`WI>bmQ@fw3Ur~?dOxSW@A?{5z)peNqb^4eFvlQj<`_jycrMc=9**D zOV!mWHtjD-oS30>`b|>vnzOMcp)5<;#5$5aTz;u7S|a8m$nlh8Abfucm+4+Qf*7p+ z>qnnO;@?ioBuD?k)&?R=QE5@(cCQ0ZGGKUK4G0an2~xc27^#<>a{xh}1YS4>b5WQE zjzV#S?-^JQRuGe^{p`~57itn6*xwfeB+5{<{ z2*w+EsN0=jHH1fI#GdNI@9uEBaXP`@(8;7{APnW^gI?+l*E{w3gYS5X_& zLp((A8@LD4j(B0+tUze@gWm)Y@`^)}jy-c-GrgVkVQO|hW6U4glV}lqjVLSKi3Kj! z7z4dG8(2x&=pT+&kh;}LlMLVG;!!Xc7?v&q8yfkA(fG51{~PD4&BuJbsMn7h^BeP{ zBs`?#rc@XeBEyAfEN>INxAkoM9`;itxzG4o(7oETkQpfoE%Y&EyGCOK@l+Es!TUDl zb_g^V@{c^q%Ws^1oDwfYTpG^*-de!l z)m4|A5-L2At^+{O0Q9GPKqWtG`HAQ#qBjmFy2RHrxtCaF7~;l%m)=GISp(#9pfF8L znJsFBYWOrsztV=c+c+<;xvo=1Gqc9RGOufNDzz$?;9W@ZO)T2ZF7iw=C6+X+4@`rf z#{#dqqs5d@*r{EyF=zC#X|eKshmNAW?jK?96q>p6km5>^xudfCS{-JeI#?7v5?2ch z=kZd!2#2#SQOHU05q}+tbq^WVs;$2ykmmhogJbrs4N(7;7%)GDxX@)S( zdD3OdFgaIYeMRN;Ou;PY6CPT&(fNLnXaYCTO>vpjC zi98@O1v@3Y>+aaG(YbKo0!&aBP#&Wa>zuOrM|xI5qqS7{2D+-9pK+Y$EIZA(9sQ>x{9zEG_ z`UA?huxE7c?HF+pz6i2mhDi-_ul00J3JNfqOFeZSZ`{5w9YT9u&Zk~CFcLGB$a$4~ zS2OnsBWhacoK69a?sZf=-kDa!^t@T2BhONBzZrbv?zxWCB;F!P*W7hXM9l&jiE0*PtB}Y1ybAL#|(2A zH%bO4nEZVB6-yND`1oIuVFy$~@`*c*E^wNrdCEr`<0_wo?&p8|q`zS7hvXT@YT7xCB%Vy@jCm9Qi3$g;RBc_G-ZxHf-HQ zo2h1&8rF*l$=Z%CQaGXda`;ObfJ+g|>2a@L0Txs=?Xrg2|U##mB z0wB@wR67ofbQcy67=TeoTEBo~^B<5j3#?E`HvJEfypqaBIS+3XTv%EHZduA$nG^Tt J>^=F@e*!uicMJdk literal 0 HcmV?d00001 diff --git a/structminio_1_1s3_1_1Retention-members.html b/structminio_1_1s3_1_1Retention-members.html new file mode 100644 index 0000000..4aac9b7 --- /dev/null +++ b/structminio_1_1s3_1_1Retention-members.html @@ -0,0 +1,83 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::Retention Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::Retention, including all inherited members.

    + + + +
    mode (defined in minio::s3::Retention)minio::s3::Retention
    retain_until_date (defined in minio::s3::Retention)minio::s3::Retention
    + + + + diff --git a/structminio_1_1s3_1_1Retention.html b/structminio_1_1s3_1_1Retention.html new file mode 100644 index 0000000..ef7873c --- /dev/null +++ b/structminio_1_1s3_1_1Retention.html @@ -0,0 +1,94 @@ + + + + + + + +MinIO C++ SDK: minio::s3::Retention Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::Retention Struct Reference
    +
    +
    + + + + + + +

    +Public Attributes

    +RetentionMode mode
     
    +utils::Time retain_until_date
     
    +
    The documentation for this struct was generated from the following file:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/types.h
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1StatObjectResponse-members.html b/structminio_1_1s3_1_1StatObjectResponse-members.html new file mode 100644 index 0000000..ef76d37 --- /dev/null +++ b/structminio_1_1s3_1_1StatObjectResponse-members.html @@ -0,0 +1,110 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::StatObjectResponse Member List
    +
    +
    + +

    This is the complete list of members for minio::s3::StatObjectResponse, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    bucket_name (defined in minio::s3::Response)minio::s3::Response
    code (defined in minio::s3::Response)minio::s3::Response
    data (defined in minio::s3::Response)minio::s3::Response
    delete_marker (defined in minio::s3::StatObjectResponse)minio::s3::StatObjectResponse
    error (defined in minio::s3::Response)minio::s3::Response
    etag (defined in minio::s3::StatObjectResponse)minio::s3::StatObjectResponse
    GetError() (defined in minio::s3::Response)minio::s3::Response
    headers (defined in minio::s3::Response)minio::s3::Response
    host_id (defined in minio::s3::Response)minio::s3::Response
    last_modified (defined in minio::s3::StatObjectResponse)minio::s3::StatObjectResponse
    legal_hold (defined in minio::s3::StatObjectResponse)minio::s3::StatObjectResponse
    message (defined in minio::s3::Response)minio::s3::Response
    object_name (defined in minio::s3::Response)minio::s3::Response
    operator bool() const (defined in minio::s3::Response)minio::s3::Responseinline
    ParseXML(std::string_view data, int status_code, utils::Multimap headers) (defined in minio::s3::Response)minio::s3::Responsestatic
    request_id (defined in minio::s3::Response)minio::s3::Response
    resource (defined in minio::s3::Response)minio::s3::Response
    Response() (defined in minio::s3::Response)minio::s3::Response
    Response(error::Error err) (defined in minio::s3::Response)minio::s3::Response
    Response(const Response &response) (defined in minio::s3::Response)minio::s3::Response
    retention_mode (defined in minio::s3::StatObjectResponse)minio::s3::StatObjectResponse
    retention_retain_until_date (defined in minio::s3::StatObjectResponse)minio::s3::StatObjectResponse
    size (defined in minio::s3::StatObjectResponse)minio::s3::StatObjectResponse
    StatObjectResponse() (defined in minio::s3::StatObjectResponse)minio::s3::StatObjectResponse
    StatObjectResponse(error::Error err) (defined in minio::s3::StatObjectResponse)minio::s3::StatObjectResponse
    StatObjectResponse(const Response &response) (defined in minio::s3::StatObjectResponse)minio::s3::StatObjectResponse
    status_code (defined in minio::s3::Response)minio::s3::Response
    user_metadata (defined in minio::s3::StatObjectResponse)minio::s3::StatObjectResponse
    version_id (defined in minio::s3::StatObjectResponse)minio::s3::StatObjectResponse
    + + + + diff --git a/structminio_1_1s3_1_1StatObjectResponse.html b/structminio_1_1s3_1_1StatObjectResponse.html new file mode 100644 index 0000000..0f3343f --- /dev/null +++ b/structminio_1_1s3_1_1StatObjectResponse.html @@ -0,0 +1,189 @@ + + + + + + + +MinIO C++ SDK: minio::s3::StatObjectResponse Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::StatObjectResponse Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::StatObjectResponse:
    +
    +
    + + +minio::s3::Response + +
    + + + + + + + + + + + + + + + +

    +Public Member Functions

    StatObjectResponse (error::Error err)
     
    StatObjectResponse (const Response &response)
     
    - Public Member Functions inherited from minio::s3::Response
    Response (error::Error err)
     
    Response (const Response &response)
     
    operator bool () const
     
    +std::string GetError ()
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +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
     
    - Public Attributes inherited from minio::s3::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
     
    + + + + +

    +Additional Inherited Members

    - Static Public Member Functions inherited from minio::s3::Response
    +static Response ParseXML (std::string_view data, int status_code, utils::Multimap headers)
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/response.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/response.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1StatObjectResponse.png b/structminio_1_1s3_1_1StatObjectResponse.png new file mode 100644 index 0000000000000000000000000000000000000000..445b7b079c5aa47f3e6b0e1694e6108501ee4888 GIT binary patch literal 681 zcmeAS@N?(olHy`uVBq!ia0vp^n}IlhgBeJsN^N-yq$C1-LR|m<{|{uoc=NTi|Ih>= z3ycpOIKbL@M;^%KC<*clW&kPzfvcxNj2IZ0EIeHtLn;{G&b?T4M}fzc|GM$d|Nif) za+#T|5B6@=H9l1kZQx|Zad6)zozq4$BUCcASU0Qu)SjVwGTwaVWl#U0OwCZW*Yj0u z*R+4$qm*{0{5WG(kLB8h<@3V-D;Q^<`8%(2`|azp%+^`_o|E)UPW<_{w{U%3aqy%} z$u&LE*1OF-OQo%*U9{0&xn;A2`qa8B#gU2Z-}cuZs0oy=&dhmpmQ73i_n(MDo8vVT zf6Y0%E?~{xjgyyT+eS*?H;lhp{P@mZvrl*Rk7wKQ?v?(V%Qf^+5Y!= z`C|Ux8}A={D3IKCkmo|S&7t}!=?(0#AX&S + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::UploadObjectArgs Member List
    +
    + + + + + diff --git a/structminio_1_1s3_1_1UploadObjectArgs.html b/structminio_1_1s3_1_1UploadObjectArgs.html new file mode 100644 index 0000000..08fb66f --- /dev/null +++ b/structminio_1_1s3_1_1UploadObjectArgs.html @@ -0,0 +1,174 @@ + + + + + + + +MinIO C++ SDK: minio::s3::UploadObjectArgs Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::UploadObjectArgs Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::UploadObjectArgs:
    +
    +
    + + +minio::s3::PutObjectBaseArgs +minio::s3::ObjectWriteArgs +minio::s3::ObjectArgs +minio::s3::BucketArgs +minio::s3::BaseArgs + +
    + + + + + + + + + + + + + +

    +Public Member Functions

    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::ObjectWriteArgs
    +utils::Multimap Headers ()
     
    - Public Member Functions inherited from minio::s3::ObjectArgs
    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::BucketArgs
    +error::Error Validate ()
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +std::string filename
     
    - Public Attributes inherited from minio::s3::PutObjectBaseArgs
    +long object_size = -1
     
    +size_t part_size = 0
     
    +long part_count = 0
     
    +std::string content_type
     
    - Public Attributes inherited from minio::s3::ObjectWriteArgs
    +utils::Multimap headers
     
    +utils::Multimap user_metadata
     
    +Ssesse = NULL
     
    +std::map< std::string, std::string > tags
     
    +Retentionretention = NULL
     
    +bool legal_hold = false
     
    - Public Attributes inherited from minio::s3::ObjectArgs
    +std::string object
     
    - Public Attributes inherited from minio::s3::BucketArgs
    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/args.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1UploadObjectArgs.png b/structminio_1_1s3_1_1UploadObjectArgs.png new file mode 100644 index 0000000000000000000000000000000000000000..4e7a374446b139bc6175f769bd25c5cd5d4f5add GIT binary patch literal 2029 zcmchYX;70%8pq!dAaV*s1mqG4AcCSGBOs9B<|T3;G9m;A1PQmG0Zjr?Cy2u=_=3Q= zLfnxIhg>27#Q;H^L6BoM7?9I&$q|7FAu>qJhOKdH_tVa&>8kGjcXd}k)xZAN^JM#Y zxhcr*lLY`k0d#lv6VLSk06V%1E>`<%<-{YP?sF=@MI;i5<-+@oOS#YU#OmLj$z)1p zkL!w;yHfqU`~mTyoyP77Fb4nx0d#f@Y>k%MBXDP&yn52yk2%9-{AY} zsTs|vgv{KPtc#nD3abeF-96fQ{l0BFtU#X-Ew4#8j3ZRNu~xG!$Lt#14>}2*DQ4|c z(2~H!Ko2zQ{_>JDnGre32Vlhuu%r1=aFVT|eyKv*RLS>gHsS3CK-?S?D7+XBV62a3 z(zMi>ev0zp#t7;90ysRlhYU0QpKUAQw>im%$_6ny*7c}wdUhhzNo09>`^D%57!FWT zmbj>=%W5tbtTAN4J(EN0nVU|pDQFi$Eg&5GU5!`dfFml3=OW7jOt=o z!FZ<0T+{0o9|cy<`q*r8d~%^-Z$lR z1vVwy(y@3P8J&u8XMN=N)NETYyHfN(JE0flDmDeQSt$2#gjQymP^2-U5QRC+Joc;A zZQv9iCCaNzfqIW5zAFDFbUarp7!pH;A}fo?PUS|G zjY><1R~NKbQjDna-zs@Pu3NzrYOHQpRS6V8pWv*%z%yfeiE}in`rXubq*9Y~yHC}k zCX&SD-VxV6dywVO%;etE0# zJkBCXZ~lyG7`Ut$%h`%7e15y^kv+`z)K>RA-(42BQ36>RwMHffcN&Fv?&~jSjQ$c; z)spqB*|`Ndn*T8y$}8KwK>s9AeMp71ZS@dzH&r3Q;1MvCXxs_$HU8rWxul$9UMK)* z2Sl;rn7Lh%FCN3p7%9r$i1*EsnKl2KK-5V*olCX*Rrt#Y2W#v zgI&2v)RVuPA_tz9;g%A#!N9BN&JEVpx*c$eybc?NGeIJ3LQs!EoB5Snd|W@<%^isr ze%$tlqusm*g}w?5<@fK(@mBCUlZ4-5pV(OUS>@lU(cZjwAhp+HW$=OFTA2Ct9dxe2682K=aVM41lSK6#U(6Z zrI@Cj8Q! zrF1f`@BRN8jUpr>x={84xT++Vi z#x)NvEZ1XNCv7HHmj=DmEXB6j(`glxFdZYIeP#HAF>?X`B@(n5>#Y z@~F5p^wV@7#T2B0_B#gcliuot%Gih6C{^3HhG$qiNiYuoHPx8)#T6RtTm!-~{9xBr3xqx3+oKZ{5 z + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::UploadPartArgs Member List
    +
    + + + + + diff --git a/structminio_1_1s3_1_1UploadPartArgs.html b/structminio_1_1s3_1_1UploadPartArgs.html new file mode 100644 index 0000000..989a7b8 --- /dev/null +++ b/structminio_1_1s3_1_1UploadPartArgs.html @@ -0,0 +1,166 @@ + + + + + + + +MinIO C++ SDK: minio::s3::UploadPartArgs Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::UploadPartArgs Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::UploadPartArgs:
    +
    +
    + + +minio::s3::ObjectWriteArgs +minio::s3::ObjectArgs +minio::s3::BucketArgs +minio::s3::BaseArgs + +
    + + + + + + + + + + + + + +

    +Public Member Functions

    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::ObjectWriteArgs
    +utils::Multimap Headers ()
     
    - Public Member Functions inherited from minio::s3::ObjectArgs
    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::BucketArgs
    +error::Error Validate ()
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +std::string upload_id
     
    +unsigned int part_number
     
    +std::string_view data
     
    - Public Attributes inherited from minio::s3::ObjectWriteArgs
    +utils::Multimap headers
     
    +utils::Multimap user_metadata
     
    +Ssesse = NULL
     
    +std::map< std::string, std::string > tags
     
    +Retentionretention = NULL
     
    +bool legal_hold = false
     
    - Public Attributes inherited from minio::s3::ObjectArgs
    +std::string object
     
    - Public Attributes inherited from minio::s3::BucketArgs
    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/args.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1UploadPartArgs.png b/structminio_1_1s3_1_1UploadPartArgs.png new file mode 100644 index 0000000000000000000000000000000000000000..c31818ed7982c199868b9689c1be5e95462c2f6f GIT binary patch literal 1623 zcmcJQX;70_6o#WtD4=LZ9H1;sGe)G)iUeDWvM7iWkbofphEyX+rGOBKfv`Bi+5%-! zAS|&c#06A{3J9_o;fp80jIJ+)e`u6#Q$OUP@_*H!DmX0xGL zV=!H-PsX4FAi6_qYoHs8gg~IPs3V85NgE_(??_VHPodX5iiO&Onn05ckAOOo2hQ4) zdoftx_=R>C$82|o4XS^NN(<*|5M8`u)SCf?MLzl+`7%G6a?F`lVVC!UIPNH6;WA7n zVNg)r`1ndIT^V^IefIz!I5Vb5gT*N&(clACoKP8qVTqm`wKc5nuJas;<>D%2*-kWm z9LxRxr*A`1;n zFDs;!?>qRNO;YEjcT?r`2Fv&sgm5~DMlGcfp9}wBm4~CAEHM{Z8u;~{0F9ifLeZ?` zg@}VWgj@&SW_ICIi1k?#Fccm8tV?6kS_O@eOI4dc7%hBqnyZ1#H^VMk$v4%CsF1|5 zZR{(m4a4znkb{2@%iQKn&*U0=6jemVyP+P5bcE*02ygj_neFZl;hMsV?CJ>OmO)y@ zW+8_-{-vZ5SK5jPKD11*iTKIk)GCGvE(z1R$joF|MT_R0o;N30}-R5OQ62cD7~@EBaiVu1gigqS2`k2I*cqLZvCt)pQ><*5vzfJkveo^--5 zeMA+b={{V=B3TgL*DR%q=wSndN}eQO4orbdRbbHpW6GPZ?y0L-)yP5(LX$T3)F^En zOu4hGct$Q7QlYMY1<>}fb=Q4Ghpeo_o?|u#oj{#}7(2EI#oshdOjC2-@GsS?6dLG? z-oG*W2S6S}n&ZI9f_wKhG&2w*YsjQLdvX+wWN`CBZA0U1@6fA}gL*!wzG9-NDKsxo6Am z_Ducm?nO6Afd>S+IYaP zJxJ^7jp^v&_|e*)|L?T=mFZ|-%pQ2rwvxd?XJx6A4_83JkXuK&W&r8#?LZ33)|(3= z4~!XD12O!%Zj4`a$un;mpMHCgH{v>&Rw)#OWPYCK4UA8iQ5W(x>(~+%1I)zjUCHLJ zA_L!Ud0F5B!`Ydxsf_M<^e=E*L*jQlp$>??1q{0@=j7HvB#-*T8>Q8LvHE`csM`Cc z%}F5CYt(rVmdraHY<&C-bu|CZ0FftrZ68_EqM_?N`iS2N0v9HF=E)$j7q6&P;Z>Kx zHJszDK$`1~kT4`L>#MC54ox!CoEdoxgiF?cZ&i1FV-LtxlaFdmp|(U!w4Gu`bzb|- zXO3$6)2(@lY9)B8iRV@CDib?9D`TPAT)b@Ervq}dj8juq;A#uhQ*wTU*X9ZExRfRI zsEH~>{3});I}?24oIHY`Q`}l*KQncma9{8u@6ftY?Jb5Jvsb6o& + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::s3::UploadPartCopyArgs Member List
    +
    + + + + + diff --git a/structminio_1_1s3_1_1UploadPartCopyArgs.html b/structminio_1_1s3_1_1UploadPartCopyArgs.html new file mode 100644 index 0000000..9687561 --- /dev/null +++ b/structminio_1_1s3_1_1UploadPartCopyArgs.html @@ -0,0 +1,166 @@ + + + + + + + +MinIO C++ SDK: minio::s3::UploadPartCopyArgs Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::s3::UploadPartCopyArgs Struct Reference
    +
    +
    +
    +Inheritance diagram for minio::s3::UploadPartCopyArgs:
    +
    +
    + + +minio::s3::ObjectWriteArgs +minio::s3::ObjectArgs +minio::s3::BucketArgs +minio::s3::BaseArgs + +
    + + + + + + + + + + + + + +

    +Public Member Functions

    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::ObjectWriteArgs
    +utils::Multimap Headers ()
     
    - Public Member Functions inherited from minio::s3::ObjectArgs
    +error::Error Validate ()
     
    - Public Member Functions inherited from minio::s3::BucketArgs
    +error::Error Validate ()
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +std::string upload_id
     
    +unsigned int part_number
     
    +utils::Multimap headers
     
    - Public Attributes inherited from minio::s3::ObjectWriteArgs
    +utils::Multimap headers
     
    +utils::Multimap user_metadata
     
    +Ssesse = NULL
     
    +std::map< std::string, std::string > tags
     
    +Retentionretention = NULL
     
    +bool legal_hold = false
     
    - Public Attributes inherited from minio::s3::ObjectArgs
    +std::string object
     
    - Public Attributes inherited from minio::s3::BucketArgs
    +std::string bucket
     
    +std::string region
     
    - Public Attributes inherited from minio::s3::BaseArgs
    +utils::Multimap extra_headers
     
    +utils::Multimap extra_query_params
     
    +
    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/args.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/args.cc
    • +
    +
    + + + + diff --git a/structminio_1_1s3_1_1UploadPartCopyArgs.png b/structminio_1_1s3_1_1UploadPartCopyArgs.png new file mode 100644 index 0000000000000000000000000000000000000000..5949c0cd9140663a8e6a231170ad13bd8f74a651 GIT binary patch literal 1713 zcmb`Ido+}39LHa&w2Ew}q{3_&QW&vKg(#uCE;E>M2~mp`^L)gc8)uBt7h0>Yt{2g11 zfF-!WEnn}#W(3Bn>hEB|{Jj`NX12lV8mZ}T zYo$<*EZyd%;^!7TS;5>KLFhmqzEVz0i%{N7eCxs76d-u z31+kqqjIrBV)Q2ZyYsOjW{5$A;rEQ{H%knlW0LS{-<}*i{6Nbe(P#iszNoEcU^gS(^d-Dy)I8o zOLI5&$tnZ;n>b%Wei86zilm- zLVvq47&+;qtg1{j-Xo3bJV(8dn03vbB!b7SeXrQy(9#!_1|T~!24`tsgx`G+DqN?W@hl+u2~1~%0t z2Bw4CJ9fRuQ>J(2x9&d26Lpd`2&$*~CPR-7(|bQ8h@M5p`zI2h43u6%(=F{+kU$IAeFS?TsJsq5R9CxKm>yGeE0z9=Z zimsADW!esigGW!BH-y`9u^#LAuPD3}HsU>7fbf^gc3@kIn!;}IS5utMujV^d)x%am z?;SgaRf6u(++xlCVFe)gW^08`!n%SR^%jLJ4~62W5nlusRuJr&JV8--86`g_JXTFP zL1ZM)#@a{_JY>ooCg_Yw8Q4Er!YSdkr%!cQ}W1NJF-v_zfG<<({ zI!5t;ReT6fDNb;H*=d+-)2zO1pr)k$NPz)9ZStnLQkKvLVs sGHO498jhMQOeB?QkNz(J=tgj@I&k#NKZkHu + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::utils::CharBuffer Member List
    +
    +
    + +

    This is the complete list of members for minio::utils::CharBuffer, including all inherited members.

    + + + + +
    CharBuffer(char *buf, size_t size) (defined in minio::utils::CharBuffer)minio::utils::CharBufferinline
    seekoff(off_type off, std::ios_base::seekdir dir, std::ios_base::openmode which=std::ios_base::in) override (defined in minio::utils::CharBuffer)minio::utils::CharBufferinline
    seekpos(pos_type sp, std::ios_base::openmode which) override (defined in minio::utils::CharBuffer)minio::utils::CharBufferinline
    + + + + diff --git a/structminio_1_1utils_1_1CharBuffer.html b/structminio_1_1utils_1_1CharBuffer.html new file mode 100644 index 0000000..f9bdfc3 --- /dev/null +++ b/structminio_1_1utils_1_1CharBuffer.html @@ -0,0 +1,107 @@ + + + + + + + +MinIO C++ SDK: minio::utils::CharBuffer Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::utils::CharBuffer Struct Reference
    +
    +
    + +

    #include <utils.h>

    +
    +Inheritance diagram for minio::utils::CharBuffer:
    +
    +
    + +
    + + + + + + + + +

    +Public Member Functions

    CharBuffer (char *buf, size_t size)
     
    +pos_type seekoff (off_type off, std::ios_base::seekdir dir, std::ios_base::openmode which=std::ios_base::in) override
     
    +pos_type seekpos (pos_type sp, std::ios_base::openmode which) override
     
    +

    Detailed Description

    +

    CharBuffer represents stream buffer wrapping character array and its size.

    +

    The documentation for this struct was generated from the following file:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/utils.h
    • +
    +
    + + + + diff --git a/structminio_1_1utils_1_1CharBuffer.png b/structminio_1_1utils_1_1CharBuffer.png new file mode 100644 index 0000000000000000000000000000000000000000..423c98ffa82a9ba3003d31a6fceb8b9f86770430 GIT binary patch literal 591 zcmeAS@N?(olHy`uVBq!ia0vp^T|gYb!3-on{*jdjQW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFd15(3L666=m08|75S5Ji)F)%RR^K@|xsbG9N_io=~1)f&>`(O6_m(G{+ z*dS~5(l6aTBeioeli|nq`b*Jg&Ri2v^VD7uprW}Nh+q3o$(xds-uP}o8bIKI}Fl(wyf!R|V90`J=9PZc_cH}Rcv+r)L+N#m*`L%1lH zL)b!w6av(>`gWixZ3YdZAsP&ktxOY2T_su5bc|y-~K=h m(8Zw;hj0C#ID4k<0{hsmAkmIP_IbeAXYh3Ob6Mw<&;$Ualm+Sl literal 0 HcmV?d00001 diff --git a/structminio_1_1utils_1_1Url-members.html b/structminio_1_1utils_1_1Url-members.html new file mode 100644 index 0000000..7a0fa3c --- /dev/null +++ b/structminio_1_1utils_1_1Url-members.html @@ -0,0 +1,87 @@ + + + + + + + +MinIO C++ SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    minio::utils::Url Member List
    +
    +
    + +

    This is the complete list of members for minio::utils::Url, including all inherited members.

    + + + + + + + +
    host (defined in minio::utils::Url)minio::utils::Url
    is_https (defined in minio::utils::Url)minio::utils::Url
    operator bool() const (defined in minio::utils::Url)minio::utils::Urlinline
    path (defined in minio::utils::Url)minio::utils::Url
    query_string (defined in minio::utils::Url)minio::utils::Url
    String() (defined in minio::utils::Url)minio::utils::Url
    + + + + diff --git a/structminio_1_1utils_1_1Url.html b/structminio_1_1utils_1_1Url.html new file mode 100644 index 0000000..9bc7f8e --- /dev/null +++ b/structminio_1_1utils_1_1Url.html @@ -0,0 +1,115 @@ + + + + + + + +MinIO C++ SDK: minio::utils::Url Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    minio::utils::Url Struct Reference
    +
    +
    + +

    #include <utils.h>

    + + + + + + +

    +Public Member Functions

    operator bool () const
     
    +std::string String ()
     
    + + + + + + + + + +

    +Public Attributes

    +bool is_https
     
    +std::string host
     
    +std::string path
     
    +std::string query_string
     
    +

    Detailed Description

    +

    Url represents HTTP URL and it's components.

    +

    The documentation for this struct was generated from the following files:
      +
    • /home/bala/devel/github.com/minio/minio-cpp/include/utils.h
    • +
    • /home/bala/devel/github.com/minio/minio-cpp/src/utils.cc
    • +
    +
    + + + + diff --git a/sync_off.png b/sync_off.png new file mode 100644 index 0000000000000000000000000000000000000000..3b443fc62892114406e3d399421b2a881b897acc GIT binary patch literal 853 zcmV-b1FHOqP)oT|#XixUYy%lpuf3i8{fX!o zUyDD0jOrAiT^tq>fLSOOABs-#u{dV^F$b{L9&!2=9&RmV;;8s^x&UqB$PCj4FdKbh zoB1WTskPUPu05XzFbA}=KZ-GP1fPpAfSs>6AHb12UlR%-i&uOlTpFNS7{jm@mkU1V zh`nrXr~+^lsV-s1dkZOaI|kYyVj3WBpPCY{n~yd%u%e+d=f%`N0FItMPtdgBb@py; zq@v6NVArhyTC7)ULw-Jy8y42S1~4n(3LkrW8mW(F-4oXUP3E`e#g**YyqI7h-J2zK zK{m9##m4ri!7N>CqQqCcnI3hqo1I;Yh&QLNY4T`*ptiQGozK>FF$!$+84Z`xwmeMh zJ0WT+OH$WYFALEaGj2_l+#DC3t7_S`vHpSivNeFbP6+r50cO8iu)`7i%Z4BTPh@_m3Tk!nAm^)5Bqnr%Ov|Baunj#&RPtRuK& z4RGz|D5HNrW83-#ydk}tVKJrNmyYt-sTxLGlJY5nc&Re zU4SgHNPx8~Yxwr$bsju?4q&%T1874xxzq+_%?h8_ofw~(bld=o3iC)LUNR*BY%c0y zWd_jX{Y8`l%z+ol1$@Qa?Cy!(0CVIEeYpKZ`(9{z>3$CIe;pJDQk$m3p}$>xBm4lb zKo{4S)`wdU9Ba9jJbVJ0C=SOefZe%d$8=2r={nu<_^a3~>c#t_U6dye5)JrR(_a^E f@}b6j1K9lwFJq@>o)+Ry00000NkvXXu0mjfWa5j* literal 0 HcmV?d00001 diff --git a/sync_on.png b/sync_on.png new file mode 100644 index 0000000000000000000000000000000000000000..e08320fb64e6fa33b573005ed6d8fe294e19db76 GIT binary patch literal 845 zcmV-T1G4;yP)Y;xxyHF2B5Wzm| zOOGupOTn@c(JmBOl)e;XMNnZuiTJP>rM8<|Q`7I_))aP?*T)ow&n59{}X4$3Goat zgjs?*aasfbrokzG5cT4K=uG`E14xZl@z)F={P0Y^?$4t z>v!teRnNZym<6h{7sLyF1V0HsfEl+l6TrZpsfr1}luH~F7L}ktXu|*uVX^RG$L0`K zWs3j|0tIvVe(N%_?2{(iCPFGf#B6Hjy6o&}D$A%W%jfO8_W%ZO#-mh}EM$LMn7joJ z05dHr!5Y92g+31l<%i1(=L1a1pXX+OYnalY>31V4K}BjyRe3)9n#;-cCVRD_IG1fT zOKGeNY8q;TL@K{dj@D^scf&VCs*-Jb>8b>|`b*osv52-!A?BpbYtTQBns5EAU**$m zSnVSm(teh>tQi*S*A>#ySc=n;`BHz`DuG4&g4Kf8lLhca+zvZ7t7RflD6-i-mcK=M z!=^P$*u2)bkY5asG4gsss!Hn%u~>}kIW`vMs%lJLH+u*9<4PaV_c6U`KqWXQH%+Nu zTv41O(^ZVi@qhjQdG!fbZw&y+2o!iYymO^?ud3{P*HdoX83YV*Uu_HB=?U&W9%AU# z80}k1SS-CXTU7dcQlsm<^oYLxVSseqY6NO}dc`Nj?8vrhNuCdm@^{a3AQ_>6myOj+ z`1RsLUXF|dm|3k7s2jD(B{rzE>WI2scH8i1;=O5Cc9xB3^aJk%fQjqsu+kH#0=_5a z0nCE8@dbQa-|YIuUVvG0L_IwHMEhOj$Mj4Uq05 X8=0q~qBNan00000NkvXXu0mjfptF>5 literal 0 HcmV?d00001 diff --git a/tab_a.png b/tab_a.png new file mode 100644 index 0000000000000000000000000000000000000000..3b725c41c5a527a3a3e40097077d0e206a681247 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QlXwMjv*C{Z|8b*H5dputLHD# z=<0|*y7z(Vor?d;H&?EG&cXR}?!j-Lm&u1OOI7AIF5&c)RFE;&p0MYK>*Kl@eiymD r@|NpwKX@^z+;{u_Z~trSBfrMKa%3`zocFjEXaR$#tDnm{r-UW|TZ1%4 literal 0 HcmV?d00001 diff --git a/tab_b.png b/tab_b.png new file mode 100644 index 0000000000000000000000000000000000000000..e2b4a8638cb3496a016eaed9e16ffc12846dea18 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QU#tajv*C{Z}0l@H7kg?K0Lnr z!j&C6_(~HV9oQ0Pa6x{-v0AGV_E?vLn=ZI-;YrdjIl`U`uzuDWSP?o#Dmo{%SgM#oan kX~E1%D-|#H#QbHoIja2U-MgvsK&LQxy85}Sb4q9e0Efg%P5=M^ literal 0 HcmV?d00001 diff --git a/tabs.css b/tabs.css new file mode 100644 index 0000000..85a0cd5 --- /dev/null +++ b/tabs.css @@ -0,0 +1 @@ +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace!important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0!important;-webkit-border-radius:0;border-radius:0!important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px!important;-webkit-border-radius:5px;border-radius:5px!important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0!important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px!important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} \ No newline at end of file diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt deleted file mode 100644 index 44d1439..0000000 --- a/tests/CMakeLists.txt +++ /dev/null @@ -1,2 +0,0 @@ -ADD_EXECUTABLE(tests tests.cc) -TARGET_LINK_LIBRARIES(tests miniocpp ${requiredlibs}) diff --git a/tests/private.key b/tests/private.key deleted file mode 100644 index ffc07f0..0000000 --- a/tests/private.key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEpAIBAAKCAQEAupkiVeaM9e9fj/xtV9O2OB6U0mUf0wuZRwGIdmMXnDr7rkBw -WAoI120gZkUF7j0WSMvJlwGuposLLBoEpTCmh+mVf7PNlYgkn+E49VvaJ9Q7w/Gz -YAlbNGmANg5mzsnkskMsh9+UyyGmdgvX1EQK4sQ3Hq7FIyzL/xm6y9qNiGvseLwU -hKlBF5X7O5wNY25tH2KCpXMY57w5pCGAQnTKjb3hwwy18wrlyquGjC5TPtbPIeUo -VQIcaQs2N8Z3HzrwBgNSVlYxLDFHfD0OPivPCSlSBh9x2Zi9HsYzReCrO6HCDakC -ZO0WNGVCXNdCZwoHZGOW5x7his4+A3at02uRawIDAQABAoIBAElz2mZCGR7+mXmO -fmRiPIqezyp7ECn9mNqwqc0geLzRIx2W1CJz4MMce/KGHS2I8mq5faNp0BxTA5Ta -sRVtr0A1HNpmJvlD3FbrS4aaH6gqDVS2okudoz9ggE3HIYUpSFM7yh26T1Ie7u3s -/4rZNgfKAYCcf5G3Ip5KvJNedvRKC2w5UX4iYU5eMuXs0YPy2+DtTKxZKIEnI3x4 -VpMe652I7GhjkLSsyuW5NoDeSWmmqhitm1bibuZQBR0ogFyAU94rZk8+j4hiUl9k -7ZVi00tKNp7EcLIwbY02ZCpZ2xvat8W1SLeWRUpExPj/7nnA9Fafrl5M8aHgl8R1 -N0Fd+zECgYEA4GruRDPPNPEXPByes6jjcxfvdoYIDyma1V+FN5Nn+/QPL/vWp9t0 -+mH344iwWkEyZZHNUpNuy5dpOA9724iFFLp9Btq06OgzzDuJj1LDbDpB4zwltuQA -4s7ekTFi9rHDOeAyTREHgDu3uya/2qq53Ms6w8gXM4/kmp9/S4N5VhcCgYEA1Nuv -J1khBitNiNbzHYG9DRV4HLfIB8FFDKtgnW8HvSaWUtHKI4YitwJVFfa5Epz9MDFy -tkFAD9Bu0HqZQ6OQZxGo0rDUcFics9Ftw+w3p/PIocPQBK7PNQ3L9BQS9M3stL+k -fW5r+kUvfZaJVE8agCQQnzkJJh9oexJjMWyxB80CgYBa5BQSPWWLjKWba//+xcUx -BR2wREKZWYFjL+e1hZcU3VkVVwsuOtza17jdR6wdMdCmgHHHIv05qd4snWDNnjJA -HfOrRgMFXZ409lwVVzDc8Y9j6CViOF//fEd6SKVLQt3N3/afbek6z3TvcJc9ie3y -9cCcMLrs4Dd3RGf6/omzCwKBgQChwWxCf6Xr9T5PjeFke/I5niYP1M2KryGU9itO -mFCOOmOj/k8ZXdbFsl0Meti7v1dcp0cgH0fafK+peHE+CG81FCNyMPTPh1dWAwHi -EIFe/ZBq9c3/sQQ/sgNasWKSbGbEGJqcwywFHUxwqNQloJNn64BCL2q3cMjKNffx -WELTxQKBgQDe7adrUBtk8+YZ1/c2VsV1oBq6eI2U+1bWa/8fwXWd9ylETBMtcv20 -Fs8UAFWLz78aWaXWWSSEmFvUbjXPBDvzXCObb6HdhXOCF1n74hKU+z06MAUa1eFC -V0GvBx4v1rc1pZ7grBZwGteeVWVgCAZ487m5TATWqxuarH6yfU0Ptg== ------END RSA PRIVATE KEY----- diff --git a/tests/public.crt b/tests/public.crt deleted file mode 100644 index eefae85..0000000 --- a/tests/public.crt +++ /dev/null @@ -1,22 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDojCCAoqgAwIBAgIUHE3HUt7gKVBp7wT9Hjj4wRT1xywwDQYJKoZIhvcNAQEL -BQAwejELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRgwFgYDVQQHDA9jdXN0b20t -bG9jYXRpb24xHDAaBgNVBAoME2N1c3RvbS1vcmdhbml6YXRpb24xEjAQBgNVBAsM -CWN1c3RvbS1vdTESMBAGA1UEAwwJbG9jYWxob3N0MCAXDTIxMDkyMDEyMTAyOFoY -DzIxMjEwODI3MTIxMDI4WjB6MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExGDAW -BgNVBAcMD2N1c3RvbS1sb2NhdGlvbjEcMBoGA1UECgwTY3VzdG9tLW9yZ2FuaXph -dGlvbjESMBAGA1UECwwJY3VzdG9tLW91MRIwEAYDVQQDDAlsb2NhbGhvc3QwggEi -MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6mSJV5oz171+P/G1X07Y4HpTS -ZR/TC5lHAYh2YxecOvuuQHBYCgjXbSBmRQXuPRZIy8mXAa6miwssGgSlMKaH6ZV/ -s82ViCSf4Tj1W9on1DvD8bNgCVs0aYA2DmbOyeSyQyyH35TLIaZ2C9fURArixDce -rsUjLMv/GbrL2o2Ia+x4vBSEqUEXlfs7nA1jbm0fYoKlcxjnvDmkIYBCdMqNveHD -DLXzCuXKq4aMLlM+1s8h5ShVAhxpCzY3xncfOvAGA1JWVjEsMUd8PQ4+K88JKVIG -H3HZmL0exjNF4Ks7ocINqQJk7RY0ZUJc10JnCgdkY5bnHuGKzj4Ddq3Ta5FrAgMB -AAGjHjAcMBoGA1UdEQQTMBGHBH8AAAGCCWxvY2FsaG9zdDANBgkqhkiG9w0BAQsF -AAOCAQEAREoEGX34C0+osOgCPwZ4mFXVvssJRJTc4JL/kqOGPyzS/085MzeIpOhu -gkOm3zj175SKiZMWWpYhB+Q/1T6tDiVLidEY7HK/dcbjYfoTAd42cQWY4qmG68vG -E6WnTQjal0uPuCwKqvqIRgkWLpaIV4TmHtpCFLLlVlnDWQBpAdiK/Vk0EeTDDaqd -cROr4tm/8EBxqwUnIQF8vgbXgVT5BNdcp44LWs7A558CCRrCGifch5+kxkSSdAFG -Y7BEXvnnsxU1n9AAVKJYnp1wUN2Hk4KWyPcQb9/Ee45DKDR5KNyMqClsWWXMJr40 -FrgI6euT50Wzo8Qqbls5Bt/0IzObnA== ------END CERTIFICATE----- diff --git a/tests/tests.cc b/tests/tests.cc deleted file mode 100644 index 9f1f5a6..0000000 --- a/tests/tests.cc +++ /dev/null @@ -1,516 +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 - -#include "client.h" - -thread_local static std::mt19937 rg{std::random_device{}()}; - -const static std::string charset = - "0123456789" - "abcdefghijklmnopqrstuvwxyz" - "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; - -thread_local static std::uniform_int_distribution pick( - 0, charset.length() - 2); - -class RandomBuf : public std::streambuf { - private: - size_t size_; - std::array buf_; - - protected: - int_type underflow() override { - if (size_ == 0) return EOF; - - size_t size = std::min(size_, buf_.size()); - setg(&buf_[0], &buf_[0], &buf_[size]); - for (size_t i = 0; i < size; ++i) buf_[i] = charset[pick(rg)]; - size_ -= size; - return 0; - } - - public: - RandomBuf(size_t size) : size_(size) {} -}; - -class RandCharStream : public std::istream { - private: - RandomBuf buf_; - - public: - RandCharStream(size_t size) : buf_(size) { rdbuf(&buf_); } -}; - -std::string RandomString(std::string chrs, std::string::size_type length) { - thread_local static std::uniform_int_distribution - pick(0, chrs.length() - 2); - - std::string s; - s.reserve(length); - while (length--) s += chrs[pick(rg)]; - return s; -} - -std::string RandBucketName() { - return RandomString("0123456789abcdefghijklmnopqrstuvwxyz", 8); -} - -std::string RandObjectName() { return RandomString(charset, 8); } - -struct MakeBucketError : public std::runtime_error { - MakeBucketError(std::string err) : runtime_error(err) {} -}; - -struct RemoveBucketError : public std::runtime_error { - RemoveBucketError(std::string err) : runtime_error(err) {} -}; - -struct BucketExistsError : public std::runtime_error { - BucketExistsError(std::string err) : runtime_error(err) {} -}; - -class Tests { - private: - minio::s3::Client& client_; - std::string bucket_name_; - - public: - Tests(minio::s3::Client& client) : client_(client) { - bucket_name_ = RandBucketName(); - minio::s3::MakeBucketArgs args; - args.bucket = bucket_name_; - minio::s3::MakeBucketResponse resp = client_.MakeBucket(args); - if (!resp) throw std::runtime_error("MakeBucket(): " + resp.GetError()); - } - - ~Tests() noexcept(false) { - minio::s3::RemoveBucketArgs args; - args.bucket = bucket_name_; - minio::s3::RemoveBucketResponse resp = client_.RemoveBucket(args); - if (!resp) throw std::runtime_error("RemoveBucket(): " + resp.GetError()); - } - - void MakeBucket(std::string bucket_name) noexcept(false) { - minio::s3::MakeBucketArgs args; - args.bucket = bucket_name; - minio::s3::MakeBucketResponse resp = client_.MakeBucket(args); - if (resp) return; - throw MakeBucketError("MakeBucket(): " + resp.GetError()); - } - - void RemoveBucket(std::string bucket_name) noexcept(false) { - minio::s3::RemoveBucketArgs args; - args.bucket = bucket_name; - minio::s3::RemoveBucketResponse resp = client_.RemoveBucket(args); - if (resp) return; - throw RemoveBucketError("RemoveBucket(): " + resp.GetError()); - } - - void RemoveObject(std::string bucket_name, std::string object_name) { - minio::s3::RemoveObjectArgs args; - args.bucket = bucket_name; - args.object = object_name; - minio::s3::RemoveObjectResponse resp = client_.RemoveObject(args); - if (!resp) throw std::runtime_error("RemoveObject(): " + resp.GetError()); - } - - void MakeBucket() { - std::cout << "MakeBucket()" << std::endl; - - std::string bucket_name = RandBucketName(); - MakeBucket(bucket_name); - RemoveBucket(bucket_name); - } - - void RemoveBucket() { - std::cout << "RemoveBucket()" << std::endl; - - std::string bucket_name = RandBucketName(); - MakeBucket(bucket_name); - RemoveBucket(bucket_name); - } - - void BucketExists() { - std::cout << "BucketExists()" << std::endl; - - std::string bucket_name = RandBucketName(); - try { - MakeBucket(bucket_name); - minio::s3::BucketExistsArgs args; - args.bucket = bucket_name; - minio::s3::BucketExistsResponse resp = client_.BucketExists(args); - if (!resp) { - throw BucketExistsError("BucketExists(): " + resp.GetError()); - } - if (!resp.exist) { - throw std::runtime_error("BucketExists(): expected: true; got: false"); - } - RemoveBucket(bucket_name); - } catch (const MakeBucketError& err) { - throw err; - } catch (const std::runtime_error& err) { - RemoveBucket(bucket_name); - throw err; - } - } - - void ListBuckets() { - std::cout << "ListBuckets()" << std::endl; - - std::list bucket_names; - try { - for (int i = 0; i < 3; i++) { - std::string bucket_name = RandBucketName(); - MakeBucket(bucket_name); - bucket_names.push_back(bucket_name); - } - - minio::s3::ListBucketsResponse resp = client_.ListBuckets(); - if (!resp) throw std::runtime_error("ListBuckets(): " + resp.GetError()); - - int c = 0; - for (auto& bucket : resp.buckets) { - if (std::find(bucket_names.begin(), bucket_names.end(), bucket.name) != - bucket_names.end()) { - c++; - } - } - if (c != bucket_names.size()) { - throw std::runtime_error( - "ListBuckets(): expected: " + std::to_string(bucket_names.size()) + - "; got: " + std::to_string(c)); - } - for (auto& bucket_name : bucket_names) RemoveBucket(bucket_name); - } catch (const std::runtime_error& err) { - for (auto& bucket_name : bucket_names) RemoveBucket(bucket_name); - throw err; - } - } - - void StatObject() { - std::cout << "StatObject()" << std::endl; - - std::string object_name = RandObjectName(); - - std::string data = "StatObject()"; - std::stringstream ss(data); - minio::s3::PutObjectArgs args(ss, data.length(), 0); - args.bucket = bucket_name_; - args.object = object_name; - minio::s3::PutObjectResponse resp = client_.PutObject(args); - if (!resp) std::runtime_error("PutObject(): " + resp.GetError()); - try { - minio::s3::StatObjectArgs args; - args.bucket = bucket_name_; - args.object = object_name; - minio::s3::StatObjectResponse resp = client_.StatObject(args); - if (!resp) throw std::runtime_error("StatObject(): " + resp.GetError()); - if (resp.size != data.length()) { - throw std::runtime_error( - "StatObject(): expected: " + std::to_string(data.length()) + - "; got: " + std::to_string(resp.size)); - } - RemoveObject(bucket_name_, object_name); - } catch (const std::runtime_error& err) { - RemoveObject(bucket_name_, object_name); - throw err; - } - } - - void RemoveObject() { - std::cout << "RemoveObject()" << std::endl; - - std::string object_name = RandObjectName(); - std::string data = "RemoveObject()"; - std::stringstream ss(data); - minio::s3::PutObjectArgs args(ss, data.length(), 0); - args.bucket = bucket_name_; - args.object = object_name; - minio::s3::PutObjectResponse resp = client_.PutObject(args); - if (!resp) std::runtime_error("PutObject(): " + resp.GetError()); - RemoveObject(bucket_name_, object_name); - } - - void DownloadObject() { - std::cout << "DownloadObject()" << std::endl; - - std::string object_name = RandObjectName(); - - std::string data = "DownloadObject()"; - std::stringstream ss(data); - minio::s3::PutObjectArgs args(ss, data.length(), 0); - args.bucket = bucket_name_; - args.object = object_name; - minio::s3::PutObjectResponse resp = client_.PutObject(args); - if (!resp) std::runtime_error("PutObject(): " + resp.GetError()); - - try { - std::string filename = RandObjectName(); - minio::s3::DownloadObjectArgs args; - args.bucket = bucket_name_; - args.object = object_name; - args.filename = filename; - minio::s3::DownloadObjectResponse resp = client_.DownloadObject(args); - if (!resp) { - throw std::runtime_error("DownloadObject(): " + resp.GetError()); - } - - std::ifstream file(filename); - file.seekg(0, std::ios::end); - size_t length = file.tellg(); - file.seekg(0, std::ios::beg); - char* buf = new char[length]; - file.read(buf, length); - file.close(); - - if (data != buf) { - throw std::runtime_error("DownloadObject(): expected: " + data + - "; got: " + buf); - } - std::filesystem::remove(filename); - RemoveObject(bucket_name_, object_name); - } catch (const std::runtime_error& err) { - RemoveObject(bucket_name_, object_name); - throw err; - } - } - - void GetObject() { - std::cout << "GetObject()" << std::endl; - - std::string object_name = RandObjectName(); - - std::string data = "GetObject()"; - std::stringstream ss(data); - minio::s3::PutObjectArgs args(ss, data.length(), 0); - args.bucket = bucket_name_; - args.object = object_name; - minio::s3::PutObjectResponse resp = client_.PutObject(args); - if (!resp) std::runtime_error("PutObject(): " + resp.GetError()); - - try { - minio::s3::GetObjectArgs args; - args.bucket = bucket_name_; - args.object = object_name; - std::string content; - args.data_callback = [](minio::http::DataCallbackArgs args) -> size_t { - std::string* content = (std::string*)args.user_arg; - *content += std::string(args.buffer, args.length); - return args.size * args.length; - }; - args.user_arg = &content; - minio::s3::GetObjectResponse resp = client_.GetObject(args); - if (!resp) throw std::runtime_error("GetObject(): " + resp.GetError()); - if (data != content) { - throw std::runtime_error("GetObject(): expected: " + data + - "; got: " + content); - } - RemoveObject(bucket_name_, object_name); - } catch (const std::runtime_error& err) { - RemoveObject(bucket_name_, object_name); - throw err; - } - } - - void ListObjects() { - std::cout << "ListObjects()" << std::endl; - - std::list object_names; - try { - for (int i = 0; i < 3; i++) { - std::string object_name = RandObjectName(); - std::stringstream ss; - minio::s3::PutObjectArgs args(ss, 0, 0); - args.bucket = bucket_name_; - args.object = object_name; - minio::s3::PutObjectResponse resp = client_.PutObject(args); - if (!resp) std::runtime_error("PutObject(): " + resp.GetError()); - object_names.push_back(object_name); - } - - int c = 0; - minio::s3::ListObjectsArgs args; - args.bucket = bucket_name_; - minio::s3::ListObjectsResult result = client_.ListObjects(args); - for (; result; result++) { - minio::s3::Item item = *result; - if (!item) { - throw std::runtime_error("ListObjects(): " + item.GetError()); - } - if (std::find(object_names.begin(), object_names.end(), item.name) != - object_names.end()) { - c++; - } - } - - if (c != object_names.size()) { - throw std::runtime_error( - "ListObjects(): expected: " + std::to_string(object_names.size()) + - "; got: " + std::to_string(c)); - } - for (auto& object_name : object_names) { - RemoveObject(bucket_name_, object_name); - } - } catch (const std::runtime_error& err) { - for (auto& object_name : object_names) { - RemoveObject(bucket_name_, object_name); - } - throw err; - } - } - - void PutObject() { - std::cout << "PutObject()" << std::endl; - - { - std::string object_name = RandObjectName(); - std::string data = "PutObject()"; - std::stringstream ss(data); - minio::s3::PutObjectArgs args(ss, data.length(), 0); - args.bucket = bucket_name_; - args.object = object_name; - minio::s3::PutObjectResponse resp = client_.PutObject(args); - if (!resp) std::runtime_error("PutObject(): " + resp.GetError()); - RemoveObject(bucket_name_, object_name); - } - - { - std::string object_name = RandObjectName(); - size_t size = 13930573; - RandCharStream stream(size); - minio::s3::PutObjectArgs args(stream, size, 0); - args.bucket = bucket_name_; - args.object = object_name; - minio::s3::PutObjectResponse resp = client_.PutObject(args); - if (!resp) - std::runtime_error(" PutObject(): " + resp.GetError()); - RemoveObject(bucket_name_, object_name); - } - } - - void CopyObject() { - std::cout << "CopyObject()" << std::endl; - - std::string object_name = RandObjectName(); - std::string src_object_name = RandObjectName(); - std::string data = "CopyObject()"; - std::stringstream ss(data); - minio::s3::PutObjectArgs args(ss, data.length(), 0); - args.bucket = bucket_name_; - args.object = src_object_name; - minio::s3::PutObjectResponse resp = client_.PutObject(args); - if (!resp) std::runtime_error("PutObject(): " + resp.GetError()); - - try { - minio::s3::CopySource source; - source.bucket = bucket_name_; - source.object = src_object_name; - minio::s3::CopyObjectArgs args; - args.bucket = bucket_name_; - args.object = object_name; - args.source = source; - minio::s3::CopyObjectResponse resp = client_.CopyObject(args); - if (!resp) std::runtime_error("CopyObject(): " + resp.GetError()); - RemoveObject(bucket_name_, src_object_name); - RemoveObject(bucket_name_, object_name); - } catch (const std::runtime_error& err) { - RemoveObject(bucket_name_, src_object_name); - RemoveObject(bucket_name_, object_name); - throw err; - } - } - - void UploadObject() { - std::cout << "UploadObject()" << std::endl; - - std::string data = "UploadObject()"; - std::string filename = RandObjectName(); - std::ofstream file(filename); - file << data; - file.close(); - - std::string object_name = RandObjectName(); - minio::s3::UploadObjectArgs args; - args.bucket = bucket_name_; - args.object = object_name; - args.filename = filename; - minio::s3::UploadObjectResponse resp = client_.UploadObject(args); - if (!resp) std::runtime_error("UploadObject(): " + resp.GetError()); - std::filesystem::remove(filename); - RemoveObject(bucket_name_, object_name); - } -}; // class Tests - -bool GetEnv(std::string& var, const char* name) { - if (const char* value = std::getenv(name)) { - var = value; - return true; - } - return false; -} - -int main(int argc, char* argv[]) { - std::string host; - if (!GetEnv(host, "S3HOST")) { - std::cerr << "S3HOST environment variable must be set" << std::endl; - return EXIT_FAILURE; - } - - std::string access_key; - if (!GetEnv(access_key, "ACCESS_KEY")) { - std::cerr << "ACCESS_KEY environment variable must be set" << std::endl; - return EXIT_FAILURE; - } - - std::string secret_key; - if (!GetEnv(secret_key, "SECRET_KEY")) { - std::cerr << "SECRET_KEY environment variable must be set" << std::endl; - return EXIT_FAILURE; - } - - std::string value; - bool secure = true; - if (GetEnv(value, "IS_HTTP")) secure = false; - - bool ignore_cert_check = false; - if (GetEnv(value, "IGNORE_CERT_CHECK")) secure = true; - - std::string region; - GetEnv(region, "REGION"); - - minio::http::BaseUrl base_url; - base_url.SetHost(host); - base_url.is_https = secure; - minio::creds::StaticProvider provider(access_key, secret_key); - minio::s3::Client client(base_url, &provider); - - Tests tests(client); - tests.MakeBucket(); - tests.RemoveBucket(); - tests.BucketExists(); - tests.ListBuckets(); - tests.StatObject(); - tests.RemoveObject(); - tests.DownloadObject(); - tests.GetObject(); - tests.ListObjects(); - tests.PutObject(); - tests.CopyObject(); - tests.UploadObject(); - - return EXIT_SUCCESS; -} diff --git a/types_8h_source.html b/types_8h_source.html new file mode 100644 index 0000000..02fb875 --- /dev/null +++ b/types_8h_source.html @@ -0,0 +1,206 @@ + + + + + + + +MinIO C++ SDK: /home/bala/devel/github.com/minio/minio-cpp/include/types.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    types.h
    +
    +
    +
    1 // MinIO C++ Library for Amazon S3 Compatible Cloud Storage
    +
    2 // Copyright 2022 MinIO, Inc.
    +
    3 //
    +
    4 // Licensed under the Apache License, Version 2.0 (the "License");
    +
    5 // you may not use this file except in compliance with the License.
    +
    6 // You may obtain a copy of the License at
    +
    7 //
    +
    8 // http://www.apache.org/licenses/LICENSE-2.0
    +
    9 //
    +
    10 // Unless required by applicable law or agreed to in writing, software
    +
    11 // distributed under the License is distributed on an "AS IS" BASIS,
    +
    12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +
    13 // See the License for the specific language governing permissions and
    +
    14 // limitations under the License.
    +
    15 
    +
    16 #ifndef _MINIO_S3_TYPES_H
    +
    17 #define _MINIO_S3_TYPES_H
    +
    18 
    +
    19 #include <iostream>
    +
    20 
    +
    21 #include "utils.h"
    +
    22 
    +
    23 namespace minio {
    +
    24 namespace s3 {
    +
    25 enum class RetentionMode { kGovernance, kCompliance };
    +
    26 
    +
    27 // StringToRetentionMode converts string to retention mode enum.
    +
    28 RetentionMode StringToRetentionMode(std::string_view str) throw();
    +
    29 
    +
    30 constexpr bool IsRetentionModeValid(RetentionMode& retention) {
    +
    31  switch (retention) {
    +
    32  case RetentionMode::kGovernance:
    +
    33  case RetentionMode::kCompliance:
    +
    34  return true;
    +
    35  }
    +
    36  return false;
    +
    37 }
    +
    38 
    +
    39 // RetentionModeToString converts retention mode enum to string.
    +
    40 constexpr const char* RetentionModeToString(RetentionMode& retention) throw() {
    +
    41  switch (retention) {
    +
    42  case RetentionMode::kGovernance:
    +
    43  return "GOVERNANCE";
    +
    44  case RetentionMode::kCompliance:
    +
    45  return "COMPLIANCE";
    +
    46  default: {
    +
    47  std::cerr << "ABORT: Unknown retention mode. This should not happen."
    +
    48  << std::endl;
    +
    49  std::terminate();
    +
    50  }
    +
    51  }
    +
    52  return NULL;
    +
    53 }
    +
    54 
    +
    55 enum class LegalHold { kOn, kOff };
    +
    56 
    +
    57 // StringToLegalHold converts string to legal hold enum.
    +
    58 LegalHold StringToLegalHold(std::string_view str) throw();
    +
    59 
    +
    60 constexpr bool IsLegalHoldValid(LegalHold& legal_hold) {
    +
    61  switch (legal_hold) {
    +
    62  case LegalHold::kOn:
    +
    63  case LegalHold::kOff:
    +
    64  return true;
    +
    65  }
    +
    66  return false;
    +
    67 }
    +
    68 
    +
    69 // LegalHoldToString converts legal hold enum to string.
    +
    70 constexpr const char* LegalHoldToString(LegalHold& legal_hold) throw() {
    +
    71  switch (legal_hold) {
    +
    72  case LegalHold::kOn:
    +
    73  return "ON";
    +
    74  case LegalHold::kOff:
    +
    75  return "OFF";
    +
    76  default: {
    +
    77  std::cerr << "ABORT: Unknown legal hold. This should not happen."
    +
    78  << std::endl;
    +
    79  std::terminate();
    +
    80  }
    +
    81  }
    +
    82  return NULL;
    +
    83 }
    +
    84 
    +
    85 enum class Directive { kCopy, kReplace };
    +
    86 
    +
    87 // StringToDirective converts string to directive enum.
    +
    88 Directive StringToDirective(std::string_view str) throw();
    +
    89 
    +
    90 // DirectiveToString converts directive enum to string.
    +
    91 constexpr const char* DirectiveToString(Directive& directive) throw() {
    +
    92  switch (directive) {
    +
    93  case Directive::kCopy:
    +
    94  return "COPY";
    +
    95  case Directive::kReplace:
    +
    96  return "REPLACE";
    +
    97  default: {
    +
    98  std::cerr << "ABORT: Unknown directive. This should not happen."
    +
    99  << std::endl;
    +
    100  std::terminate();
    +
    101  }
    +
    102  }
    +
    103  return NULL;
    +
    104 }
    +
    105 
    +
    106 struct Bucket {
    +
    107  std::string name;
    +
    108  utils::Time creation_date;
    +
    109 }; // struct Bucket
    +
    110 
    +
    111 struct Part {
    +
    112  unsigned int number;
    +
    113  std::string etag;
    +
    114  utils::Time last_modified;
    +
    115  size_t size;
    +
    116 }; // struct Part
    +
    117 
    +
    118 struct Retention {
    +
    119  RetentionMode mode;
    +
    120  utils::Time retain_until_date;
    +
    121 }; // struct Retention
    +
    122 } // namespace s3
    +
    123 } // namespace minio
    +
    124 #endif // #ifndef __MINIO_S3_TYPES_H
    +
    Definition: utils.h:97
    +
    Definition: types.h:106
    +
    Definition: types.h:111
    +
    Definition: types.h:118
    +
    + + + + diff --git a/utils_8h_source.html b/utils_8h_source.html new file mode 100644 index 0000000..313afd3 --- /dev/null +++ b/utils_8h_source.html @@ -0,0 +1,248 @@ + + + + + + + +MinIO C++ SDK: /home/bala/devel/github.com/minio/minio-cpp/include/utils.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    MinIO C++ SDK +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    utils.h
    +
    +
    +
    1 // MinIO C++ Library for Amazon S3 Compatible Cloud Storage
    +
    2 // Copyright 2022 MinIO, Inc.
    +
    3 //
    +
    4 // Licensed under the Apache License, Version 2.0 (the "License");
    +
    5 // you may not use this file except in compliance with the License.
    +
    6 // You may obtain a copy of the License at
    +
    7 //
    +
    8 // http://www.apache.org/licenses/LICENSE-2.0
    +
    9 //
    +
    10 // Unless required by applicable law or agreed to in writing, software
    +
    11 // distributed under the License is distributed on an "AS IS" BASIS,
    +
    12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +
    13 // See the License for the specific language governing permissions and
    +
    14 // limitations under the License.
    +
    15 
    +
    16 #ifndef _MINIO_UTILS_H
    +
    17 #define _MINIO_UTILS_H
    +
    18 
    +
    19 #include <openssl/buffer.h>
    +
    20 #include <openssl/evp.h>
    +
    21 
    +
    22 #include <cmath>
    +
    23 #include <cstring>
    +
    24 #include <curlpp/cURLpp.hpp>
    +
    25 #include <list>
    +
    26 #include <regex>
    +
    27 #include <set>
    +
    28 
    +
    29 #include "error.h"
    +
    30 
    +
    31 namespace minio {
    +
    32 namespace utils {
    +
    33 inline constexpr unsigned int kMaxMultipartCount = 10000; // 10000 parts
    +
    34 inline constexpr unsigned long kMaxObjectSize =
    +
    35  5L * 1024 * 1024 * 1024 * 1024; // 5TiB
    +
    36 inline constexpr unsigned long kMaxPartSize = 5L * 1024 * 1024 * 1024; // 5GiB
    +
    37 inline constexpr unsigned int kMinPartSize = 5 * 1024 * 1024; // 5MiB
    +
    38 
    +
    39 // FormatTime formats time as per format.
    +
    40 std::string FormatTime(const std::tm* time, const char* format);
    +
    41 
    +
    42 // StringToBool converts string to bool.
    +
    43 bool StringToBool(std::string_view str);
    +
    44 
    +
    45 // BoolToString converts bool to string.
    +
    46 inline const char* const BoolToString(bool b) { return b ? "true" : "false"; }
    +
    47 
    +
    48 // Trim trims leading and trailing character of a string.
    +
    49 std::string Trim(std::string_view str, char ch = ' ');
    +
    50 
    +
    51 // CheckNonemptystring checks whether string is not empty after trimming
    +
    52 // whitespaces.
    +
    53 bool CheckNonEmptyString(std::string_view str);
    +
    54 
    +
    55 // ToLower converts string to lower case.
    +
    56 std::string ToLower(std::string str);
    +
    57 
    +
    58 // StartsWith returns whether str starts with prefix or not.
    +
    59 bool StartsWith(std::string_view str, std::string_view prefix);
    +
    60 
    +
    61 // EndsWith returns whether str ends with suffix or not.
    +
    62 bool EndsWith(std::string_view str, std::string_view suffix);
    +
    63 
    +
    64 // Contains returns whether str has ch.
    +
    65 bool Contains(std::string_view str, char ch);
    +
    66 
    +
    67 // Contains returns whether str has substr.
    +
    68 bool Contains(std::string_view str, std::string_view substr);
    +
    69 
    +
    70 // Join returns a string of joined values by delimiter.
    +
    71 std::string Join(std::list<std::string> values, std::string delimiter);
    +
    72 
    +
    73 // Join returns a string of joined values by delimiter.
    +
    74 std::string Join(std::vector<std::string> values, std::string delimiter);
    +
    75 
    +
    76 // EncodePath does URL encoding of path. It also normalizes multiple slashes.
    +
    77 std::string EncodePath(std::string_view path);
    +
    78 
    +
    79 // Sha256hash computes SHA-256 of data and return hash as hex encoded value.
    +
    80 std::string Sha256Hash(std::string_view str);
    +
    81 
    +
    82 // Base64Encode encodes string to base64.
    +
    83 std::string Base64Encode(std::string_view str);
    +
    84 
    +
    85 // Md5sumHash computes MD5 of data and return hash as Base64 encoded value.
    +
    86 std::string Md5sumHash(std::string_view str);
    +
    87 
    +
    88 error::Error CheckBucketName(std::string_view bucket_name, bool strict = false);
    +
    89 error::Error ReadPart(std::istream& stream, char* buf, size_t size,
    +
    90  size_t& bytes_read);
    +
    91 error::Error CalcPartInfo(long object_size, size_t& part_size,
    +
    92  long& part_count);
    +
    93 
    +
    97 class Time {
    +
    98  private:
    +
    99  struct timeval tv_;
    +
    100  bool utc_;
    +
    101 
    +
    102  public:
    +
    103  Time();
    +
    104  Time(std::time_t tv_sec, suseconds_t tv_usec, bool utc);
    +
    105  std::tm* ToUTC();
    +
    106  std::string ToSignerDate();
    +
    107  std::string ToAmzDate();
    +
    108  std::string ToHttpHeaderValue();
    +
    109  static Time FromHttpHeaderValue(const char* value);
    +
    110  std::string ToISO8601UTC();
    +
    111  static Time FromISO8601UTC(const char* value);
    +
    112  static Time Now();
    +
    113  operator bool() const { return tv_.tv_sec != 0 && tv_.tv_usec != 0; }
    +
    114 }; // class Time
    +
    115 
    +
    119 class Multimap {
    +
    120  private:
    +
    121  std::map<std::string, std::set<std::string>> map_;
    +
    122  std::map<std::string, std::set<std::string>> keys_;
    +
    123 
    +
    124  public:
    +
    125  Multimap();
    +
    126  Multimap(const Multimap& headers);
    +
    127  void Add(std::string key, std::string value);
    +
    128  void AddAll(const Multimap& headers);
    +
    129  std::list<std::string> ToHttpHeaders();
    +
    130  std::string ToQueryString();
    +
    131  operator bool() const { return !map_.empty(); }
    +
    132  bool Contains(std::string_view key);
    +
    133  std::list<std::string> Get(std::string_view key);
    +
    134  std::string GetFront(std::string_view key);
    +
    135  std::list<std::string> Keys();
    +
    136  void GetCanonicalHeaders(std::string& signed_headers,
    +
    137  std::string& canonical_headers);
    +
    138  std::string GetCanonicalQueryString();
    +
    139 }; // class Multimap
    +
    140 
    +
    144 struct Url {
    +
    145  bool is_https;
    +
    146  std::string host;
    +
    147  std::string path;
    +
    148  std::string query_string;
    +
    149 
    +
    150  operator bool() const { return !host.empty(); }
    +
    151  std::string String();
    +
    152 }; // struct Url
    +
    153 
    +
    157 struct CharBuffer : std::streambuf {
    +
    158  CharBuffer(char* buf, size_t size) { this->setg(buf, buf, buf + size); }
    +
    159 
    +
    160  pos_type seekoff(off_type off, std::ios_base::seekdir dir,
    +
    161  std::ios_base::openmode which = std::ios_base::in) override {
    +
    162  if (dir == std::ios_base::cur)
    +
    163  gbump(off);
    +
    164  else if (dir == std::ios_base::end)
    +
    165  setg(eback(), egptr() + off, egptr());
    +
    166  else if (dir == std::ios_base::beg)
    +
    167  setg(eback(), eback() + off, egptr());
    +
    168  return gptr() - eback();
    +
    169  }
    +
    170 
    +
    171  pos_type seekpos(pos_type sp, std::ios_base::openmode which) override {
    +
    172  return seekoff(sp - pos_type(off_type(0)), std::ios_base::beg, which);
    +
    173  }
    +
    174 }; // struct CharBuffer
    +
    175 } // namespace utils
    +
    176 } // namespace minio
    +
    177 
    +
    178 #endif // #ifndef _MINIO_UTILS_H
    +
    Definition: utils.h:119
    +
    Definition: utils.h:97
    +
    Definition: utils.h:157
    +
    Definition: utils.h:144
    +
    + + + + diff --git a/vcpkg.json b/vcpkg.json deleted file mode 100644 index 4dc6e8c..0000000 --- a/vcpkg.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "minio-cpp", - "version-string": "0.1.0", - "description": "The MinIO C++ Client SDK provides simple APIs to access any Amazon S3 compatible object storage", - "dependencies": [ - "openssl", - "curlpp", - "pugixml" - ] -}