aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Permission.cpp
diff options
context:
space:
mode:
authorDevtools Arcadia <arcadia-devtools@yandex-team.ru>2022-02-07 18:08:42 +0300
committerDevtools Arcadia <arcadia-devtools@mous.vla.yp-c.yandex.net>2022-02-07 18:08:42 +0300
commit1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch)
treee26c9fed0de5d9873cce7e00bc214573dc2195b7 /contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Permission.cpp
downloadydb-1110808a9d39d4b808aef724c861a2e1a38d2a69.tar.gz
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Permission.cpp')
-rw-r--r--contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Permission.cpp91
1 files changed, 91 insertions, 0 deletions
diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Permission.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Permission.cpp
new file mode 100644
index 0000000000..3215a6d8aa
--- /dev/null
+++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/source/model/Permission.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/Permission.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 PermissionMapper
+ {
+
+ static const int FULL_CONTROL_HASH = HashingUtils::HashString("FULL_CONTROL");
+ static const int WRITE_HASH = HashingUtils::HashString("WRITE");
+ static const int WRITE_ACP_HASH = HashingUtils::HashString("WRITE_ACP");
+ static const int READ_HASH = HashingUtils::HashString("READ");
+ static const int READ_ACP_HASH = HashingUtils::HashString("READ_ACP");
+
+
+ Permission GetPermissionForName(const Aws::String& name)
+ {
+ int hashCode = HashingUtils::HashString(name.c_str());
+ if (hashCode == FULL_CONTROL_HASH)
+ {
+ return Permission::FULL_CONTROL;
+ }
+ else if (hashCode == WRITE_HASH)
+ {
+ return Permission::WRITE;
+ }
+ else if (hashCode == WRITE_ACP_HASH)
+ {
+ return Permission::WRITE_ACP;
+ }
+ else if (hashCode == READ_HASH)
+ {
+ return Permission::READ;
+ }
+ else if (hashCode == READ_ACP_HASH)
+ {
+ return Permission::READ_ACP;
+ }
+ EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
+ if(overflowContainer)
+ {
+ overflowContainer->StoreOverflow(hashCode, name);
+ return static_cast<Permission>(hashCode);
+ }
+
+ return Permission::NOT_SET;
+ }
+
+ Aws::String GetNameForPermission(Permission enumValue)
+ {
+ switch(enumValue)
+ {
+ case Permission::FULL_CONTROL:
+ return "FULL_CONTROL";
+ case Permission::WRITE:
+ return "WRITE";
+ case Permission::WRITE_ACP:
+ return "WRITE_ACP";
+ case Permission::READ:
+ return "READ";
+ case Permission::READ_ACP:
+ return "READ_ACP";
+ default:
+ EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
+ if(overflowContainer)
+ {
+ return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue));
+ }
+
+ return {};
+ }
+ }
+
+ } // namespace PermissionMapper
+ } // namespace Model
+ } // namespace S3
+} // namespace Aws