diff options
author | dakovalkov <dakovalkov@yandex-team.com> | 2023-12-03 13:33:55 +0300 |
---|---|---|
committer | dakovalkov <dakovalkov@yandex-team.com> | 2023-12-03 14:04:39 +0300 |
commit | 2a718325637e5302334b6d0a6430f63168f8dbb3 (patch) | |
tree | 64be81080b7df9ec1d86d053a0c394ae53fcf1fe /contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectAttributes.cpp | |
parent | e0d94a470142d95c3007e9c5d80380994940664a (diff) | |
download | ydb-2a718325637e5302334b6d0a6430f63168f8dbb3.tar.gz |
Update contrib/libs/aws-sdk-cpp to 1.11.37
Diffstat (limited to 'contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectAttributes.cpp')
-rw-r--r-- | contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectAttributes.cpp | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectAttributes.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectAttributes.cpp new file mode 100644 index 0000000000..c4159dcde2 --- /dev/null +++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/ObjectAttributes.cpp @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include <aws/s3/model/ObjectAttributes.h> +#include <aws/core/utils/HashingUtils.h> +#include <aws/core/Globals.h> +#include <aws/core/utils/EnumParseOverflowContainer.h> + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3 + { + namespace Model + { + namespace ObjectAttributesMapper + { + + static const int ETag_HASH = HashingUtils::HashString("ETag"); + static const int Checksum_HASH = HashingUtils::HashString("Checksum"); + static const int ObjectParts_HASH = HashingUtils::HashString("ObjectParts"); + static const int StorageClass_HASH = HashingUtils::HashString("StorageClass"); + static const int ObjectSize_HASH = HashingUtils::HashString("ObjectSize"); + + + ObjectAttributes GetObjectAttributesForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ETag_HASH) + { + return ObjectAttributes::ETag; + } + else if (hashCode == Checksum_HASH) + { + return ObjectAttributes::Checksum; + } + else if (hashCode == ObjectParts_HASH) + { + return ObjectAttributes::ObjectParts; + } + else if (hashCode == StorageClass_HASH) + { + return ObjectAttributes::StorageClass; + } + else if (hashCode == ObjectSize_HASH) + { + return ObjectAttributes::ObjectSize; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast<ObjectAttributes>(hashCode); + } + + return ObjectAttributes::NOT_SET; + } + + Aws::String GetNameForObjectAttributes(ObjectAttributes enumValue) + { + switch(enumValue) + { + case ObjectAttributes::ETag: + return "ETag"; + case ObjectAttributes::Checksum: + return "Checksum"; + case ObjectAttributes::ObjectParts: + return "ObjectParts"; + case ObjectAttributes::StorageClass: + return "StorageClass"; + case ObjectAttributes::ObjectSize: + return "ObjectSize"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); + } + + return {}; + } + } + + } // namespace ObjectAttributesMapper + } // namespace Model + } // namespace S3 +} // namespace Aws |